Клиент администратора Keycloak, 405 МЕТОД УДАЛЕНИЯ НЕ РАЗРЕШЕН

#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-мало документов и тестового файла для проверки методов, там они используют имя картографа для удаления, на самом деле вам нужно использовать идентификатор карты.