Keycloak 管理客户端,405 不允许删除方法
Keycloak Admin client, 405 DELETE METHOD NOT ALLOWED
我正在实施一个 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 不工作,returns 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 方法的直接信息,我认为对此的许多澄清可以帮助很多人,谢谢!
我发现了问题:在 keycloak-nodejs-admin-client 上几乎没有文档和测试方法的测试文件,他们使用映射器名称进行删除,实际上你需要使用mapperID.
我正在实施一个 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 不工作,returns 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 方法的直接信息,我认为对此的许多澄清可以帮助很多人,谢谢!
我发现了问题:在 keycloak-nodejs-admin-client 上几乎没有文档和测试方法的测试文件,他们使用映射器名称进行删除,实际上你需要使用mapperID.