Претензия по электронной почте переопределяет имя пользователя в keycloak - PullRequest
0 голосов
/ 17 мая 2019

Я написал собственный OIDC-провайдер и подключил его к keycloak. После первого входа в систему через моего провайдера пользователю предлагается ввести имя пользователя, адрес электронной почты, имя и фамилию (first-broker-login-flow).

Обычно в имени пользователя указывается то, что указано в утверждении «sub». Но при отправке претензии «по электронной почте» в имени пользователя указывается электронное письмо.

Как я могу предварительно заполнить имя пользователя чем-то иным, чем мой адрес электронной почты, одновременно отправив запрос на получение адреса электронной почты?

До сих пор я пытался отправить претензии "имя", "имя пользователя" и "предпочитаемое имя пользователя" - безуспешно.

Я выяснил, что IdpReviewProfileAuthenticator проверяет isRegistrationEmailAsUsername (). Поэтому я деактивировал «Войти по электронной почте» в настройках своей области - безуспешно.

Есть ли способ для keycloak не использовать претензию 'email' для имени пользователя?

1 Ответ

1 голос
/ 17 мая 2019

Я разобрался. В keycloak я создал карту отображения имени пользователя для моего провайдера oidc и установил значение шаблона на ${CLAIM.sub}.

Не самое удачное решение, по моему скромному мнению. Но это работает, пока я не нашел лучший способ сделать это ...

...