backend-api поправил стук при анонимном заходе
This commit is contained in:
parent
7612126b9e
commit
d9e0a4ada2
1 changed files with 9 additions and 1 deletions
|
|
@ -3,15 +3,23 @@ package ru.spcex.clearing.backendapi.security;
|
|||
import org.keycloak.KeycloakPrincipal;
|
||||
import org.keycloak.adapters.spi.KeycloakAccount;
|
||||
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;;
|
||||
import org.springframework.security.core.Authentication;
|
||||
|
||||
public class KeycloakUtils {
|
||||
static Logger log = LoggerFactory.getLogger(KeycloakUtils.class);
|
||||
|
||||
/**
|
||||
* Достать username из Keycloak имплементации Authentication
|
||||
*/
|
||||
public static String getUserNameFromAuthentication(Authentication authentication) {
|
||||
if (authentication == null) return null;
|
||||
if (!(authentication instanceof KeycloakAuthenticationToken)) { // AnonymousAuthenticationToken
|
||||
log.trace("Authentication token class {} is not KeycloakAuthenticationToken", authentication.getClass().getName());
|
||||
return null;
|
||||
}
|
||||
KeycloakAuthenticationToken auth = (KeycloakAuthenticationToken) authentication;
|
||||
if (auth == null) return null;
|
||||
KeycloakAccount details = (KeycloakAccount) auth.getDetails();
|
||||
return ((KeycloakPrincipal) details.getPrincipal())
|
||||
.getKeycloakSecurityContext()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue