Как настроить токен доступа с информацией о пользователе (имя пользователя и номер телефона...) на сервере авторизации oauth2.1 при весенней загрузке?
Как настроить токен доступа с информацией о пользователе (имя пользователя и номер телефона...) на сервере авторизации oauth2.1 при весенней загрузке?
Это мой обходной проект , какие-нибудь ресурсы/помощь о том, как добавить данные пользователя в сам токен доступа?
1 ответ
Мы можем добавить любую информацию, используя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);
}
};
}