我正在實作一個 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 我已經嘗試確保我正確使用了庫,所以我認為必須是 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 方法的資訊直接資訊,我認為對此的許多澄清可以幫助很多人,謝謝!
uj5u.com熱心網友回復:
我發現了這個問題:在 keycloak-nodejs-admin-client 上有很少的檔案和測驗檔案來測驗方法,他們使用映射器名稱進行洗掉,實際上您需要使用映射器 ID。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/330784.html
上一篇:為什么HTTP/2使用偽頭欄位?
