【发布时间】:2019-07-28 02:11:17
【问题描述】:
我有:
- Spring boot 客户端应用程序具有一些公共端点和私有端点,例如需要 @PreAuthorize("#oauth2.hasScope('resource.read')")
- 我有一个外部授权服务器:Cloudfoundry UAA
- 我有一个链接到 UAA 的外部 OIDC 提供程序,我可以使用它来验证一个人,我从该外部 OIDC 提供程序的 ID_Token 收到一个 Person_ID
- 现在我需要更改 UAA 核心代码以实现我的逻辑,即使用该 Person_ID 并从共享相同 Person_ID 的 LDAP 搜索等效用户,然后我需要将其用户组添加到客户端的令牌中。 (我目前已经在 /userinfo 端点完成了)
所以我在 /userinfo 端点中完成了这个逻辑,当客户端收到访问令牌时(从客户端,重定向到 UAA,从 UAA 到 OIDC 进行 AUTH,然后再次返回令牌,然后将此令牌发送到客户端,现在客户端可以获取令牌并请求 /userinfo ,然后将拥有它的用户角色)
这是错误的逻辑吗?我应该以某种方式在访问令牌中添加 LDAP 实现(步骤 4)吗?
【问题讨论】:
标签: oauth-2.0 spring-security-oauth2 openid-connect