Как я могу получить имя, фамилию и атрибут пользователя из keycloak с помощью Java API? - PullRequest
0 голосов
/ 11 сентября 2018

Я могу получить токен из keycloak, введя имя пользователя и пароль с кодом API Java:

 AccessTokenResponse tokenresponse = authzClient.obtainAccessToken(user, password);

Как я могу получить имя, фамилию этого пользователя, а также другие атрибуты из Keycloak? Например, Id?

1 Ответ

0 голосов
/ 11 сентября 2018

Код, который я использовал, просто получает информацию от AccessToken. Это взято из сервиса JAX-RS, но не ясно, как вы пытаетесь получить к нему доступ. Возможно, это все еще может дать вам некоторые идеи.

@Path("/something")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response aMethod(@Context SecurityContext securityContext) {
    Principal principal = securityContext.getUserPrincipal();

    KeycloakPrincipal<KeycloakSecurityContext> keycloakPrincipal = (KeycloakPrincipal<KeycloakSecurityContext>) principal;

    AccessToken accessToken = keycloakPrincipal.getKeycloakSecurityContext().getToken();

    // first name
    accessToken.getGivenName()
    // last name
    accessToken.getFamilyName();
    // email
    accessToken.getEmail();
    // roles
    accessToken.getRealmAccess().getRoles();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...