JavaSpringOAuth2SSO:使用AuthorizationServer授予的权限
我的设置是一个AuthorizationServer,在这里我根据ldap进行身份验证。 当我直接从authorizationserver请求用户时 他拥有特定的权限,具体取决于ldap组
当我在调试时查看ResourceServer中的Oauth2Authentication时,只有userAuthentication。细节。当局拥有这种权力。任何其他权限都设置为角色\用户
是否可以使用授权服务器提供的用户权限
如果我用弹簧。oauth2。资源tokenInfoUri要检索权限,它可以工作。但是我想使用AuthorizationServer提供的UserDetails
# 1 楼答案
解决方案是创建一个自定义UserInfoTokenServices as,并按照我在answer to a very similar question中的解释提供它
在这个UserInfoTokenServices中,我能够从授权服务器的
/users
端点的响应中提取权限!!使现代化有了Spring Boot 1.4.0,事情变得更容易了强>
springboot1.4.0引入了PrincipalExtractor。应该实现该类以提取自定义主体(请参见Spring Boot 1.4 Release Notes)
如果只是关于权限,您可以实现AuthoritiesExtractor