Spring Cloud OAuth2:添加用户权限

Spring Cloud OAuth2: Adding user authorities

我们设法使用 Spring Cloud OAuth2 设置 Web 应用程序,它通过遵循 this 示例源代码实现来自 Facebook 和 Google 等不同身份提供商的单点登录.

计划拥有我们自己的 authentication/authorization 服务器,我们提供了我们自己的 UserDetailsGrantedAuthority,我们在其中关联了用户的 Facebook 和 Google。除了 ROLE_USER.

,我们还有自己的一组用户权限

我们根据用户的角色保护我们的业务方法(我们使用 @RolesAllowed)。当用户使用他们的 Facebook 和 Google 帐户登录时,只会添加 ROLE_USER 作为他们的权限。我想知道如何在登录外部身份提供者时从关联用户的 GrantedAuthority 添加我们自己的用户权限,尽管我发现这可以使用 AuthoritiesExtractor 完成,但找不到具体的这方面的例子。

我能够 modify/set 使用 AuthoritiesExtractor 的权限,设置为 UserInfoTokenServices