【发布时间】:2021-12-02 04:59:43
【问题描述】:
我正在实现一个 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 工作正常,但 Delete 没有并返回 405 我已经尝试确保我正确使用该库,所以我认为必须是 keycloak 配置 这就是我配置 keycloak admin npm 包的方式:
kcAdminClient.setConfig({
realmName: 'master',
});
adminClient = await kcAdminClient.auth({
username: 'admin',
password: 'dummy',
grantType: 'password',
clientId:'admin-cli',
});
kcAdminClient.setConfig({
realmName: dummy,
});
我配置两个领域的事实并没有影响,因为这个问题之前发生过,我尝试使用来自主领域的用户来执行请求。
没有关于 keycloak/http 方法的直接信息,我认为对此的许多澄清可以帮助很多人,谢谢!
【问题讨论】: