【发布时间】:2022-11-22 02:46:12
【问题描述】:
在我的应用程序中,我将 keycloak 与我在 Spring Boot 应用程序中创建的授权服务器一起使用。我已经使用 OpenID Connect 实现了身份验证和授权。在 keycloak 的客户端身份验证参数中,我选择了 client_secret_post 选项。配置如下图所示:
在我用spring boot开发的Authorization server中,我也做了同样的事情。
现在,当我调试代码时,我可以看到通过令牌请求 http://auth-server:9000/oauth2/token,客户端 ID 和客户端密码在请求参数中发送,如下图所示
但是对于 userinfo 请求 http://auth-server:9000/userinfo,我看到客户端 id 和客户端密码没有在请求参数中发送,而是客户端 id 和客户端密码被解码并在授权标头中发送见下图
这是预期的行为还是我遗漏了什么?为什么 client_id 和 client_secret 也没有作为 userinfo 端点 URL http://auth-server:9000/userinfo 的请求参数发送?
【问题讨论】:
标签: spring-boot keycloak openid-connect