Azure B2C с предварительно приглашенными пользователями - PullRequest
0 голосов
/ 12 июня 2019

У меня есть приложение, в котором мы используем Azure AD B2C для аутентификации.

Поток такой:

  1. Пользователи приглашаются по электронной почте
  2. Они нажимаютссылка для регистрации с использованием потока входа / регистрации B2C
  3. Они заполняют свою информацию, включая адрес электронной почты
  4. Они перенаправляются в наше приложение

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

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

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

Ответы [ 2 ]

1 голос
/ 13 июня 2019

На аналогичный вопрос уже ответили @ Как передать предложение электронной почты на страницу регистрации Azure AD B2C .Ответ https://stackoverflow.com/a/56503578/341185 описывает, как отправлять приглашения.

Альтернативный подход с использованием Javascript в настраиваемых политиках

Вы можете использовать настраиваемые политики вместе с Javascript для отображения электронной почтыпользователь в текстовом поле адрес электронной почты .

Подход. При отправке ссылки на приглашение отправьте дополнительный параметр запроса, например &email_hint=azureb2ccustomer@b2clogin.com, и выполните следующие шагичтобы отобразить это значение email_hint в текстовом поле адреса электронной почты

Шаги:

  1. Включение Javascript в пользовательских политиках https://docs.microsoft.com/en-us/azure/active-directory-b2c/javascript-samples
  2. Изменение контракта страницы, чтобы разрешить запуск пользовательских политикjavascript https://docs.microsoft.com/en-us/azure/active-directory-b2c/page-contract
  3. Обновление пути пользователя RegistrationOrSignin для непосредственного перехода на страницу регистрации https://stackoverflow.com/a/56503494/341185
  4. Обновление HTML-страницы BLOB-объекта для чтения параметров запроса и помещения значения в текстовое поле электронной почты
var urlParams = new URLSearchParams(window.location.search);
document.getElementById("email").value = urlParams.get('email_hint');

Нажмите здесь , например, запрос

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

1 голос
/ 13 июня 2019

Если вы хотите использовать пользовательские политики, вы можете использовать поток для сброса пароля, который имеет:

& client_assertion_type = урна% 3Aietf% 3Aparams% 3Aoauth% 3Aclient-утверждение тип% 3Ajwt-носитель & Client_assertion = JWT

Это помещает адрес электронной почты в JWT, поэтому пользователю не нужно вводить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...