Skip to content

Интеграция единого входа Entra ID - проблемы для новых пользователей #10

@Columpio

Description

@Columpio

Я тестирую интеграцию Entra ID для Klaw в локальной установке с помощью Docker Compose и столкнулся с некоторыми проблемами. Похоже, это коснулось только новых пользователей. У меня не было никаких проблем с пользователем superadmin или пользователями, которые существовали в базе данных до включения единого входа.

Новые пользователи перенаправляются на страницу с ошибкой

После успешного входа в систему с помощью Entra ID новые пользователи перенаправляются на путь /login/oauth2/code/sso?code=... и видят страницу с ошибкой:

Image

Изменение пути (например, к /) в адресной строке браузера, по-видимому, устраняет проблему и отображает ожидаемую страницу регистрации.

Как я могу избежать этой ошибки?

Для настройки образа core Docker (версия 2.10.0) использовались следующие переменные среды:

KLAW_LOGIN_AUTHENTICATION_TYPE: ad
KLAW_ENABLE_AUTHORIZATION_AD: true
KLAW_ENABLE_SSO: true
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_AZURE_ISSUERURI: https://login.microsoftonline.com/.../v2.0
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_SSO_AUTHORIZATIONGRANTTYPE: authorization_code
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_SSO_CLIENTID: ...
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_SSO_CLIENTSECRET: ...
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_SSO_REDIRECTURI: http://localhost:9097/login/oauth2/code/sso
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_SSO_PROVIDER: azure
SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_SSO_SCOPE: openid,profile,email

Поле E-mail не заполнено предварительно

На странице регистрации для новых пользователей я также ожидал, что поле e-mail будет заполнено, вместо того чтобы вводить его вручную. Адрес электронной почты доступен в моем токене.

Image

Неверное полное имя

У меня также возникла проблема с предварительно заполненным именем в форме. В моем случае имя включало дополнительный идентификатор пользователя в круглых скобках. Эти символы не считаются допустимыми. Конечно, я могу изменить имя, чтобы избежать этой ошибки. Однако это похоже на еще один шаг, выполняемый вручную, которого следует избегать. Есть ли у вас какие-либо предложения по улучшению этого? Например, возможно ли объединить given_name и family_name вместо использования name?

Image

Условия недоступны

На странице регистрации для новых пользователей есть ссылка на условия. Однако эта ссылка не работает для новых пользователей (пользователи останутся на странице регистрации).

Принятие условий необязательно

Для новых пользователей форма на странице регистрации может быть отправлена без ошибок, несмотря на то, что они не приняли условия.

Избегайте запросов пользователей

Есть ли способ избавиться от процесса регистрации пользователя при использовании единого входа? Если возможно, я бы предпочел полностью управлять пользователями, их ролями и членством в команде в Entra ID (например, используя роли / заявки / группы), чтобы сократить количество ручных действий (например, просмотр / утверждение запросов пользователей) в Klaw. Это могло бы позволить командам управлять своими собственными участниками, предполагая, что у них есть выделенная группа в Entra ID.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions