Keycloak удалить имя и фамилию из регистрационной формы

Я хотел бы регистрировать пользователей только с использованием электронной почты и пароля.

Удаление полей из register.ftl удалит их из пользовательского интерфейса, но сервер все равно будет их проверять.

Этот вопрос очень похож: Keycloak Удалить поля имени и фамилии на экране регистрации

Проблема в том, что я не смог найти эту проверку в более новой версии Keycloak, я использую v 4.8.1.

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

заранее спасибо

Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Валидация полей ввода для базовой формы React
Валидация полей ввода для базовой формы React
В одном из моих проектов MERN Stack есть форма с именем, фамилией, контактным номером, адресом, электронной почтой, датой рождения, номером NIC, весом...
Пользовательские правила валидации в Laravel
Пользовательские правила валидации в Laravel
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей...
4
0
2 038
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот что я сделал в качестве обходного пути для keycloak v4.8.3.

Больше нет возможности отключить проверку формы регистрации формы, поэтому у вас есть два варианта.

  • полностью отключите процесс регистрации keycloak и полагайтесь только на социальные логин (на самом деле это очень популярный подход, а не только с ключиком)
  • Перейдите в keycloak-4.8.1.Final/themes/base/login, найдите register.ftl и добавьте значение по умолчанию к имени и фамилии, затем добавьте к ним стиль display none, чтобы они не отображались. Вот так:

     <div class = "${properties.kcFormGroupClass!} ${messagesPerField.printIfExists('firstName',properties.kcFormGroupErrorClass!)}" style = "display:none">
            <div class = "${properties.kcLabelWrapperClass!}">
                <label for = "firstName" class = "${properties.kcLabelClass!}">${msg("firstName")}</label>
            </div>
            <div class = "${properties.kcInputWrapperClass!}">
                <input type = "text" id = "firstName" class = "${properties.kcInputClass!}" name = "firstName" value = "temp_first_name"/>
            </div>
     </div>
    

Надеюсь, это было полезно.

Эй, спасибо за ваш ответ, как можно полностью отключить процесс регистрации keycloak?

Carl Bosch 28.10.2020 13:40

Не уверен, что сможешь. Но вы можете просто игнорировать это и использовать KC как услугу. Однако, если вы хотите использовать часть входа в социальную сеть, это становится немного сложнее. stackoverflow.com/questions/54219092/…

Borislav Stoilov 28.10.2020 14:30

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

Carl Bosch 04.11.2020 21:18

Другие вопросы по теме