Сброс пароля Microsoft - параметр передачи, который содержит URI перенаправления для после сброса - PullRequest
4 голосов
/ 08 апреля 2019

Мы используем OAuth 2 с Microsoft Azure Active Directory для единого входа.Когда пользователь выходит из системы, мы передаем его по следующему URL-адресу, по которому мы можем передать post_logout_redirect_uri параметр запроса:

https://login.microsoftonline.com/<tenant-id>/oauth2/logout?post_logout_redirect_uri=https%3A%2F%2Fexample.com%2F

Когда пользователь пытается войти в нашсайт, если они не аутентифицированы, они перенаправляются на страницу входа Microsoft, и здесь мы также передаем параметр redirect_uri (с некоторыми другими нерелевантными параметрами запроса).

https://login.microsoftonline.com/<tenant-id>/oauth2/authorize?redirect_uri=https%3A%2F%2Fexample.com%2F

Если пользователь щелкает ссылку забытого пароля на странице входа в систему, он может использовать самовосстановление пароля Microsoft для сброса пароля, а затем он получает ссылку для входа в систему со своим новым паролем (см. Ниже).Если щелкнуть эту ссылку, они вернутся на страницу входа, и после входа они будут перенаправлены на наш сайт.

Microsoft SSPR With Link

Однако мытакже отправьте пользователям ссылку на прямой доступ к странице сброса пароля:

https://passwordreset.microsoftonline.com

Когда пользователь переходит по этой ссылке и сбрасывает свой пароль, ссылка To sign in with your new password, click here. не отображается,Есть ли способ передать параметр запроса в этом URL-адресе, аналогично конечным точкам входа и выхода, чтобы эта ссылка отображалась и перенаправлялась на значение, переданное для этого параметра?

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

1 Ответ

1 голос
/ 04 мая 2019

Просматривая поток для сброса пароля и все параметры строки запроса, которые он использует, я смог получить ссылку для To sign in with your new password, click here., используя параметр строки запроса ru

Новая ссылка, которую вы должны попробоватьout

https://passwordreset.microsoftonline.com?ru={url encoded value for return url}

Пример:

https://passwordreset.microsoftonline.com?ru=https%3A%2F%2Flogin.microsoftonline.com%2F<tenant-id>%2Foauth2%2Fauthorize%3Fredirect_uri%3Dhttps%253A%252F%252Fexample.com%252F%26client_id%3DmyclientGUID%26response_type%3Did_token%26state%3D123456%26nonce%3DGUID

ПРИМЕЧАНИЕ. Используемое мной значение в кодировке URL в основном совпадает с URL-адресом и параметрами, которые используются при попытке входа на сайт, т.е.Возьмите URL из браузера, когда вы увидите страницу входа Microsoft как часть обычного входа на сайт.(ничего общего со сбросом пароля).Затем предоставил новый случайный GUID для одноразового номера и другое случайное значение для параметров состояния.

enter image description here

Отказ от ответственности: я не нашел никакой официальной документации для этого.Это больше, чем хит и пробная версия и прохождение HTTP-запросов, созданных с помощью обычного процесса сброса пароля.

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