Рубрики
Без рубрики

Саморегистрация пользователя Keycloak

Узнайте, как включить саморегистрацию пользователя в Keycloak.

Автор оригинала: baeldung.

1. Обзор

Мы можем использовать Keycloak в качестве стороннего сервера авторизации для управления пользователями наших веб-или мобильных приложений.

Хотя администратор может добавлять пользователей, Keycloak также имеет возможность разрешить пользователям регистрироваться самостоятельно. Кроме того, наряду с атрибутами по умолчанию, такими как имя, фамилия и адрес электронной почты, мы также можем добавить дополнительные атрибуты пользователя, соответствующие потребностям нашего приложения.

В этом уроке мы увидим, как включить саморегистрацию на клавиатуре и добавить пользовательские поля на странице регистрации пользователя.

Мы строим поверх настройки страницы входа в систему , поэтому будет полезно сначала пройти через нее для первоначальной настройки.

2. Автономный сервер

Во-первых, мы увидим саморегистрацию пользователя для автономного сервера Keycloak.

2.1. Включение Регистрации Пользователя

Изначально нам нужно включить Keycloak, чтобы разрешить регистрацию пользователя . Для этого нам сначала нужно запустить сервер, выполнив эту команду из папки bin нашего дистрибутива Keycloak:

./standalone.sh -Djboss.socket.binding.port-offset=100

Затем нам нужно перейти в консоль администратора и ввести initial 1 / zag 1!QAZ учетные данные.

Затем на вкладке Вход на странице Настройки области мы переключим кнопку Регистрация пользователя :

Вот и все! Нам просто нужно нажать Сохранить , и саморегистрация будет включена.

Итак, теперь мы получим ссылку с именем Регистрация на странице входа в систему :

Опять же, помните, что страница выглядит иначе, чем страница входа по умолчанию Keycloak, потому что мы расширяем настройки, которые мы делали ранее .

Ссылка регистрация ведет нас на страницу Регистрация :

Как мы видим, страница по умолчанию включает в себя основные атрибуты пользователя Keycloak .

В следующем разделе мы рассмотрим, как мы можем добавить дополнительные атрибуты к нашему выбору.

2.2. Добавление Пользовательских Атрибутов Пользователя

Продолжая нашу пользовательскую тему , давайте скопируем существующий шаблон base/login/register.title в нашу пользовательскую/login папку.

Теперь мы попробуем добавить новое поле dob для Даты рождения . Для этого нам нужно будет изменить приведенный выше register.ftl и добавить следующее:

Теперь когда мы регистрируем нового пользователя на этой странице, мы также можем ввести его Дату рождения |:

Чтобы убедиться в этом, давайте откроем страницу Users в консоли администратора и найдем Jane :

Далее, давайте перейдем к Jane ‘s Attributes и проверим DOB :

Как видно, здесь отображается та же дата рождения, что и в форме саморегистрации.

3. Встроенный сервер

Теперь давайте посмотрим, как мы можем добавить пользовательские атрибуты для самостоятельной регистрации для сервера Keycloak, встроенного в приложение Spring Boot.

Как и на первом этапе для автономного сервера, нам нужно сначала включить регистрацию пользователей.

Мы можем сделать это, установив регистрация разрешена в true в нашем файле определения области baeldung-realm.json :

"registrationAllowed" : true,

После этого нам нужно добавить Дату рождения в register.ftl , точно так же, как это было сделано ранее .

Далее, давайте скопируем этот файл в наш каталог src/main/resources/themes/custom/login .

Теперь при запуске сервера наша страница входа содержит ссылку регистрации. Вот страница саморегистрации с нашим пользовательским полем Дата рождения :

Важно иметь в виду, что пользователь, добавленный через страницу саморегистрации для встроенного сервера, является временным .

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

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

4. Заключение

В этом уроке мы узнали, как включить саморегистрацию пользователя в Keycloak . Мы также видели, как добавлять пользовательские атрибуты при регистрации в качестве нового пользователя.

Мы рассмотрели примеры того, как это сделать как для автономного, так и для встроенного экземпляра.

Как всегда, исходный код доступен на GitHub. Для автономного сервера он находится на учебниках GitHub , а для встроенного экземпляра-на OAuth GitHub .