有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaSpringOAuth2SSO:使用AuthorizationServer授予的权限

我的设置是一个AuthorizationServer,在这里我根据ldap进行身份验证。 当我直接从authorizationserver请求用户时 他拥有特定的权限,具体取决于ldap组

当我在调试时查看ResourceServer中的Oauth2Authentication时,只有userAuthentication。细节。当局拥有这种权力。任何其他权限都设置为角色\用户

是否可以使用授权服务器提供的用户权限

如果我用弹簧。oauth2。资源tokenInfoUri要检索权限,它可以工作。但是我想使用AuthorizationServer提供的UserDetails


共 (1) 个答案

  1. # 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