Как установить пользовательское свойство пользователя в keycloak из Java API - PullRequest
0 голосов
/ 02 июля 2018

Я использую keycloak для аутентификации в своем весеннем приложении, как я могу установить какой-либо атрибут для пользователя. Я уже добавил пользовательский маппер в консоль администратора.

1 Ответ

0 голосов
/ 05 июля 2018

Пожалуйста, посмотрите ниже прикрепленный снимок экрана, в пользовательском разделе есть вкладка, где вы можете установить атрибуты

enter image description here

Теперь вопрос будет, как вы будете обращаться к этим атрибутам пользователя через код?

Итак, вот код, который можно использовать для доступа к атрибутам пользователя.

HttpServletRequest httpRequest = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        KeycloakSecurityContext securityContext = (KeycloakSecurityContext) httpRequest.getAttribute(KeycloakSecurityContext.class.getName());
          AccessToken accessToken = securityContext.getToken();
          if(null != accessToken ){
          Map<String, Object> otherClaims = accessToken.getOtherClaims() ;     
          tgtToken = securityContext.getTokenString();
          String firstUserAtt = otherClaims.get("First_User_Attribute").toString();
          String secondUserAtt = otherClaims.get("Second_User_Attribute").toString();
}

Примечание - First_User_Attribute, Second_User_Attribute - это ключ, который вы объявляете в разделе пользовательских атрибутов keycloak.

...