我有关于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')注释来使用访问令牌范围(代表我的权限用户)而不是客户端范围?我怎样才能做到这一点?
感谢。