-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Я тестирую интеграцию Entra ID для Klaw в локальной установке с помощью Docker Compose и столкнулся с некоторыми проблемами. Похоже, это коснулось только новых пользователей. У меня не было никаких проблем с пользователем superadmin или пользователями, которые существовали в базе данных до включения единого входа.
Новые пользователи перенаправляются на страницу с ошибкой
После успешного входа в систему с помощью Entra ID новые пользователи перенаправляются на путь /login/oauth2/code/sso?code=... и видят страницу с ошибкой:
Изменение пути (например, к /) в адресной строке браузера, по-видимому, устраняет проблему и отображает ожидаемую страницу регистрации.
Как я могу избежать этой ошибки?
Для настройки образа 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 будет заполнено, вместо того чтобы вводить его вручную. Адрес электронной почты доступен в моем токене.
Неверное полное имя
У меня также возникла проблема с предварительно заполненным именем в форме. В моем случае имя включало дополнительный идентификатор пользователя в круглых скобках. Эти символы не считаются допустимыми. Конечно, я могу изменить имя, чтобы избежать этой ошибки. Однако это похоже на еще один шаг, выполняемый вручную, которого следует избегать. Есть ли у вас какие-либо предложения по улучшению этого? Например, возможно ли объединить given_name и family_name вместо использования name?
Условия недоступны
На странице регистрации для новых пользователей есть ссылка на условия. Однако эта ссылка не работает для новых пользователей (пользователи останутся на странице регистрации).
Принятие условий необязательно
Для новых пользователей форма на странице регистрации может быть отправлена без ошибок, несмотря на то, что они не приняли условия.
Избегайте запросов пользователей
Есть ли способ избавиться от процесса регистрации пользователя при использовании единого входа? Если возможно, я бы предпочел полностью управлять пользователями, их ролями и членством в команде в Entra ID (например, используя роли / заявки / группы), чтобы сократить количество ручных действий (например, просмотр / утверждение запросов пользователей) в Klaw. Это могло бы позволить командам управлять своими собственными участниками, предполагая, что у них есть выделенная группа в Entra ID.