Spring OAuth2 JWT附加信息和范围

时间:2017-06-19 12:38:40

标签: spring oauth-2.0 jwt spring-security-oauth2 scopes

我有关于spring jwt令牌的2个问题? 第一个与JWT令牌的附加信息有关: - 有没有办法隐藏oauth2 jwt令牌中的附加信息,因为它们是纯文本的,并且相同的信息在JWT访问令牌或有效负载中重复

public class CustomTokenEnhancer extends JwtAccessTokenConverter {
        @Override
        public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
            final Map<String, Object> additionalInfo = new HashMap<>();    
                    User user = (User) authentication.getPrincipal();
                    additionalInfo.put("organization", user.getOwnerId());
                    ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo);
            return accessToken;
        }
    }
}

第二个涉及我的用户权限到访问令牌范围的映射,事实上,当我添加范围作为附加信息时,这表示给定用户的不同权限,以及当我想测试这个时在我的WS中@PreAuthorize(“hasRole('ROLE_USER')和#oauth2.hasScope('XXXXX')”)注释。它不起作用,因为检查是基于客户端范围而不是用户访问令牌范围?有没有办法,通过使用#oauth2.hasScope('XXXXX')注释来使用访问令牌范围(代表我的权限用户)而不是客户端范围?我怎样才能做到这一点?

感谢。

0 个答案:

没有答案