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.KeycloakPrincipal;
|
||||||
import org.keycloak.adapters.spi.KeycloakAccount;
|
import org.keycloak.adapters.spi.KeycloakAccount;
|
||||||
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
|
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
|
|
||||||
public class KeycloakUtils {
|
public class KeycloakUtils {
|
||||||
|
static Logger log = LoggerFactory.getLogger(KeycloakUtils.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Достать username из Keycloak имплементации Authentication
|
* Достать username из Keycloak имплементации Authentication
|
||||||
*/
|
*/
|
||||||
public static String getUserNameFromAuthentication(Authentication 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;
|
KeycloakAuthenticationToken auth = (KeycloakAuthenticationToken) authentication;
|
||||||
if (auth == null) return null;
|
|
||||||
KeycloakAccount details = (KeycloakAccount) auth.getDetails();
|
KeycloakAccount details = (KeycloakAccount) auth.getDetails();
|
||||||
return ((KeycloakPrincipal) details.getPrincipal())
|
return ((KeycloakPrincipal) details.getPrincipal())
|
||||||
.getKeycloakSecurityContext()
|
.getKeycloakSecurityContext()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue