Для этого я также обновляю некоторые зависимости, например:
rg.springframework.boot из 2.1.6.RELEASE до версии 2.7.18
При этом были обновлены следующие зависимости (до версии 5.7.11):
Код: Выделить всё
org.springframework.security
spring-security-oauth2-client
org.springframework.security
spring-security-oauth2-resource-server
Код: Выделить всё
public static AuthenticatePerson getPerson(){
String token = null;
var person = new AuthenticatePerson();
Authentication principal = SecurityContextHolder.getContext()
.getAuthentication();
if (principal instanceof OAuth2Authentication){
OAuth2Authentication authentication = (OAuth2Authentication) principal;
Object details = authentication.getDetails();
if (details instanceof OAuth2AuthenticationDetails) {
OAuth2AuthenticationDetails oauthsDetails = (OAuth2AuthenticationDetails) details;
token = oauthsDetails.getTokenValue();
}
}
try {
DecodedJWT jwt = JWT.decode(token);
person.setName(jwt.getClaims().get("name").asString());
person.setEmail(jwt.getClaims().get("mail").asString());
person.setGroupe(jwt.getClaims().get("Group").asString());
} catch (JWTDecodeException exception){
//Invalid token
}
return person;
}
Код: Выделить всё
if (principal instanceof OAuth2AuthenticationToken){
OAuth2AuthenticationToken authenticationToken = (OAuth2AuthenticationToken) principal;
token = authenticationToken.getAuthorizedClientRegistrationId();
}
Код: Выделить всё
if (principal instanceof JwtAuthenticationToken) {
JwtAuthenticationToken jwtAuth = (JwtAuthenticationToken) principal;
token = jwtAuth.getToken().getTokenValue();
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... entication
Мобильная версия