【问题标题】:Keycloak Admin client, 405 DELETE METHOD NOT ALLOWEDKeycloak 管理客户端,405 DELETE METHOD NOT ALLOWED
【发布时间】: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 方法的直接信息,我认为对此的许多澄清可以帮助很多人,谢谢!

【问题讨论】:

    标签: node.js http keycloak


    【解决方案1】:

    我发现了问题:在 keycloak-nodejs-admin-client 上有很少的文档和一个测试文件来测试方法,他们使用映射器名称进行删除,实际上您需要使用 mapperID。

    【讨论】:

      猜你喜欢
      • 2014-04-09
      • 2019-10-08
      • 1970-01-01
      • 2016-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      相关资源
      最近更新 更多