如何在spring Boot 中在oauth2.1授权服务器中使用用户信息(用户名,电话号码,..)自定义访问令牌?这是我的解决方法project,有关于如何在访问令牌本身中添加用户详细信息的资源/帮助吗?
zysjyyx41#
我们可以使用jwtCustomizer添加任何信息。请参考this
jwtCustomizer
@Bean OAuth2TokenCustomizer<JwtEncodingContext> jwtCustomizer(CustomClaims claims) { return context -> { if (context.getTokenType() == OAuth2TokenType.ACCESS_TOKEN) { Authentication principal = context.getPrincipal(); Set<String> authorities = principal.getAuthorities().stream() .map(GrantedAuthority::getAuthority) .collect(Collectors.toSet()); context.getClaims().claims(c -> c.put("Creator", "Thirumal")); context.getClaims().claims(c -> c.putAll(claims.getClaims(principal))); context.getClaims().claim("roles", authorities); } }; }
1条答案
按热度按时间zysjyyx41#
我们可以使用
jwtCustomizer
添加任何信息。请参考this