如何在spring boot oauth2/2.1授权服务器的oauth2 access token中添加用户信息(用户名,电话号码)?.
这是我的解决方法project,关于如何在访问令牌本身中添加用户详细信息的任何资源/帮助?
我们可以使用
jwtCustomizer
添加任何信息。参考this
@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);
}
};
}