1
Files
lecture-professional-softwa…/src/main/java/mops/gruppen2/domain/Account.java
2020-04-07 01:42:30 +02:00

31 lines
918 B
Java

package mops.gruppen2.domain;
import lombok.AllArgsConstructor;
import lombok.Value;
import org.keycloak.KeycloakPrincipal;
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
import java.util.Set;
@Value
@AllArgsConstructor
public class Account {
String name; //user_id
String email;
String image;
String givenname;
String familyname;
Set<String> roles;
public Account(KeycloakAuthenticationToken token) {
KeycloakPrincipal principal = (KeycloakPrincipal) token.getPrincipal();
name = principal.getName();
email = principal.getKeycloakSecurityContext().getIdToken().getEmail();
image = null;
givenname = principal.getKeycloakSecurityContext().getIdToken().getGivenName();
familyname = principal.getKeycloakSecurityContext().getIdToken().getFamilyName();
roles = token.getAccount().getRoles();
}
}