在 Keycloak 13/14 中获取客户机密?

Get client secret in Keycloak 13/14?

在 Keycloak 12 中,此调用 returned 'credentials' 对象内的客户端机密:

keycloak.realm(tenantId)
        .clients()
        .get(applicationId)
        .getInstallationProvider("keycloak-oidc-keycloak-json");

从 Keycloak 13 开始,相同的调用不再包含 'secret' 属性 在 'credentials object:

https://issues.redhat.com/browse/KEYCLOAK-18257

是否有替代 API 调用来 return 秘密?

您可以使用来自 Keycloak 管理员 API 的 Get the client secret 请求(当然要正确配置正确的权限):

GET /{realm}/clients/{id}/client-secret

https://www.keycloak.org/docs-api/14.0/rest-api/index.html

我想你可以直接在注册有效载荷中定义秘密,这样你就不会在之后检索秘密了。