#node.js #http #keycloak
Вопрос:
Я внедряю серверную часть nodejs для управления пользователями в Keycloak, и для этого я использую пакет npm keycloak-nodejs-admin-client
.
Все работает нормально, но когда я начал пытаться удалить ресурсы, я получил 405 DELETE METHOD NOT ALLOWED
const adminClient = await initializeKeycloak() let mapper = await adminClient.clientScopes.findProtocolMapperByName({id: openIdScopeId, name: keycloakId}) await adminClient.clientScopes.delProtocolMapper({id: openIdScopeId, name: mapper.name}); await adminClient.clientScopes.delProtocolMapper({id: samlScopeId, name: mapper.name});
Например, имя findProtocolMapperByName Работает нормально, но Удаление не работает и возвращает 405. Я уже пытался убедиться, что правильно использую библиотеку, поэтому я думаю, что это должна быть конфигурация маскировки ключей Вот как я настроил пакет npm администратора keycloak:
kcAdminClient.setConfig({ realmName: 'master', }); adminClient = await kcAdminClient.auth({ username: 'admin', password: 'dummy', grantType: 'password', clientId:'admin-cli', }); kcAdminClient.setConfig({ realmName: dummy, });
тот факт, что я настраиваю две области, не влияет, так как эта проблема возникала раньше, и я попытался использовать пользователя из Главной области для выполнения запроса.
Нет прямой информации о методе keycloak/http, и я думаю, что многие разъяснения этого могут помочь многим людям, спасибо!
Ответ №1:
Я обнаружил проблему: в клиенте keycloak-nodejs-admin-мало документов и тестового файла для проверки методов, там они используют имя картографа для удаления, на самом деле вам нужно использовать идентификатор карты.