Изменение имени для входа в AAD B2C - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь реализовать поток Изменение имени входа из образцов AAD B2 C. В основном политика работает, но проблема в том, что пользователь все еще вошел в систему после изменения своего адреса электронной почты. аутентифицировать. Почему это может быть безопасно и не рассматривается в образце? Как мне это сделать? Я мог бы перенаправить запрос на конечную точку выхода B2 C, но вот другая проблема:

Когда пользователь нажимает ссылку «Изменить имя для входа», он перенаправляется на конечную точку политики с указанным redirect_uri параметр строки запроса. В моем случае это https://localhost:44300. Проблема в том, что его перенаправляют обратно на мой сайт, когда он завершает поток и , когда он отменяет поток, и я не могу различить guish между ними, поскольку, похоже, в запросе нет ничего проверьте.

Итак, как я могу вернуть пользователя к https://localhost:44300, если он отменяет поток (адрес электронной почты не изменяется) и выполняет единый выход, если он завершает поток?

Ответы [ 2 ]

1 голос
/ 01 июня 2020

Это очень хороший вопрос. Когда токен сгенерирован, у него есть установленный срок жизни. Например 1 час.

Когда вы используете этот токен, предполагается, что пользователь годен к go, пока не истечет срок действия токена и не будет выпущен токен refre sh.

Когда refre sh токен израсходован, когда произойдет новая проверка, и потребуется повторная аутентификация.

1 голос
/ 30 мая 2020

Почему изменение имени пользователя должно аннулировать сеанс? Я могу согласиться только со сменой пароля. B2 C не понимает, что происходит (кроме смены пароля), он просто выполняет то, что вы просили. Все поездки выдают токен в конце, вы можете поместить самоутвержденную страницу и отключить кнопку продолжения, а затем использовать JavaScript, чтобы отправить пользователя на маршрут выхода из приложения, если это то, что вы хотите.

В случае успешного выполнения политики вы получите обратно токен с уникальным идентификатором политики.

В случае сбоя вы получите сообщение об ошибке, отправленное в приложение. Используйте это, чтобы различать guish между ними.

Чтобы управлять отменой пользователя, отправьте закодированный параметр состояния с запросом аутентификации, он будет возвращен с «ошибкой отмены» (AADB2 C ошибка пользователя отменена »в ваше приложение, а затем выполните выход. Похоже, очень плохой пользовательский интерфейс и никакого повышения безопасности.

...