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.