← Навигация по документации

Конфигурации

Защитите архив с помощью Keycloak и настройте один или несколько Identity Providers - Google as Identity Provider - Github as Identity Provider

Конфигурация маппера (Mapper)

  1. Создайте Mapper(s) для назначения ролей пользователям, аутентифицирующимся через Social Identity Provider, чтобы обеспечить доступ и/или права на изменение в архиве. Перейдите на вкладку Mappers созданных Identity Providers в Keycloak и нажмите Create.
  2. Выберите Hardcoded Role в выпадающем списке Mapper Type.
  3. Для поля Role выберите Select Role как user. Введите Name для вашего маппера и нажмите Save.
  4. (Необязательно, не рекомендуется) Если вы хотите, чтобы пользователи, аутентифицированные через Identity Providers, также имели права администратора, создайте второй маппер и повторите шаги 2 и 3, но в качестве Select Role укажите admin.
  5. Альтернативный вариант (рекомендуется): если вы хотите, чтобы только определённые пользователи, вошедшие через Identity Providers, имели права администратора, войдите в консоль администратора Keycloak под одним из существующих пользователей с правами администрирования и вручную назначьте роль admin этим пользователям.

Пропустить Update Profile

По умолчанию, когда пользователь входит через Social Identity Provider и у него в профиле у этого провайдера не заданы поля First/Last name, Keycloak отображает страницу Update Account Information. На этой странице показаны поля Username, Email, First Name и Last Name. После заполнения этих полей пользователь может перейти на страницу UI архива.

Если вы хотите отключить этот Update Profile, войдите в консоль администратора Keycloak и перейдите в
Authentication -> Flows -> First Broker Login -> Review Profile(review profile config) -> Actions (Config) -> Update Profile on First Login -> OFF и нажмите Save.

Update Password при первом входе

По умолчанию, когда пользователь впервые входит через Social Identity Provider, Keycloak проверяет в своей базе данных и создаёт для него уникального пользователя. При последующих входах Keycloak связывает ID пользователя с пользователем, вошедшим через Social Identity Provider. После входа в UI архива любой пользователь (включая тех, кто вошёл через Social Identity Provider) имеет возможность Edit Account в Keycloak. Это также позволяет им обновлять свои пароли. В случае пользователя, вошедшего через Social Identity Provider, Keycloak не хранит пароль для этого пользователя в своей базе данных (или в LDAP, если настроено User Federation). Это означает, что пользователь, вошедший в UI архива через Social Identity Provider, не может обновить свой пароль, поскольку для этого пользователя нет ранее существовавшего пароля.

Чтобы позволить пользователям, входящим через Social Identity Providers, обновлять свой пароль, войдите в консоль администратора Keycloak и перейдите в Authentication -> Flows -> First Broker Login -> Create User If Unique(create unique user config) -> Actions (Config) -> Require Password Update After Registration -> ON и нажмите Save.

После этого пользователи, вошедшие через Social Identity Providers, смогут не только обновлять свой пароль через Edit Account из UI архива, но и смогут напрямую входить по своему email и этому паролю (теперь доступному в БД Keycloak или LDAP), без необходимости проходить аутентификацию через Social Identity Provider, при последующих входах в UI архива.

Проверка

Откройте UI архива и используйте Social Identity Provider для входа.

Примечание : Если пользователь уже входил однажды с email, зарегистрированным у конкретного Social Identity Provider, а затем решит войти через другой Social Identity Provider с тем же email, Keycloak отобразит страницу Account already exists с вариантами Review Profile или Add to existing account. При выборе: - Add to existing account — и если была настроена опция Update Password on First Logon, пользователь сможет войти напрямую с паролем, заданным при обновлении пароля при первом входе через первый Social Identity Provider. При этом второй Social Identity Provider связывается с этим пользователем в Keycloak. Проверить эту привязку Social Identity Providers можно, войдя в консоль администратора Keycloak и перейдя в Identity Provider Links у конкретного пользователя, вошедшего через Social Identity Provider. - Review Profile — Keycloak отображает страницу Update Account Information. Этот вариант бесполезен, поскольку Keycloak не принимает запрос даже при обновлении полей: email остаётся прежним и используется для идентификации пользователя в Keycloak.