spring-security - Spring oauth2授权服务器在令牌中添加角色用户
问题描述
我使用 spring-security-oauth2-authorization-server (v. 0.2.0) 来实现我的授权服务器。我希望用户角色在令牌中,是否可以添加它们?喜欢?
谢谢
解决方案
我通过添加以下bean解决了这个问题
@Bean
OAuth2TokenCustomizer<JwtEncodingContext> jwtCustomizer() {
return context -> {
if (context.getTokenType() == OAuth2TokenType.ACCESS_TOKEN.getValue()) {
Authentication principal = context.getPrincipal();
Set<String> authorities = principal.getAuthorities().stream()
.map(GrantedAuthority::getAuthority)
.collect(Collectors.toSet());
context.getClaims().claim("user-authorities", authorities);
}
};
}
推荐阅读
- flutter - 使用 Flutter (iOS/Android) 将图像上传到 Azure blob
- java - 如何“区分”两个 cacerts 文件?
- flutter - 如何将 StreamZip 与 StreamBuilder 一起使用?
- python - MAC OS:Python3 上的 Nmap 模块在解释器中导入,但不是脚本
- c# - 如何在 ASP.NET Core 3.1 MVC 中进行RequiredIf 客户端和服务器端验证?
- for-loop - Dart - 在 for 循环中等待所有异步任务
- python - 我在抓取多个 URL 时遇到问题
- python - 如何使用我的脚本删除无趣的单词和字符?
- makefile - 生成文件:35:目标“LBM”的配方失败
- shopify - 液体循环中的 Shopify STEP 功能?使用 STEP 进行 Shopify 迭代