Выход Azure Active Directory B2C не перенаправляет на заданный URL - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь получить приложение-функцию Azure, которое использует аутентификацию службы приложений для выхода из системы, а затем перенаправляет на определенный URL-адрес. Я использую Azure Active Directory B2C в качестве поставщика проверки подлинности. Я могу успешно выйти из системы, но он всегда переходит на страницу выхода по умолчанию (.auth / logout / complete), даже если я указываю параметр запроса post_logout_redirect_uri.

Я выхожу, перейдя в конечную точку myapp.azurewebsites.net/.auth/logout. Я добавляю параметр post_logout_redirect_uri следующим образом: https://myapp.azurewebsites.net/.auth/logout?post_logout_redirect_uri=https%3A%2F%2Fmyapp.azurewebsites.net%2Flogout.html

Однако это всегда будет перенаправлять меня к стандартному myapp.azurewebsites.net/.auth/logout/complete вместо указанного мной URL.

При просмотре ответа на вызов .auth / logout я вижу, что он перенаправляет на https://jteamweb.b2clogin.com/jteamweb.onmicrosoft.com/oauth2/v2.0/logout?p=b2c_1a_signup_signin_jteamweb&post_logout_redirect_uri=https%3A%2F%2Fmyapp.azurewebsites.net%2F.auth%2Flogout%2Fcomplete, независимо от того, какой post_logout_redirect_uri я указываю.

Если я позвоню по вышеуказанному URL-адресу напрямую и изменим post_logout_redirect_uri на свой собственный URL-адрес, он будет работать успешно. Однако я не могу этого сделать, потому что единственный способ очистить куки AppServiceAuthSession в моем домене - это вызвать .auth / logout. Вызов вышеуказанного URL не очистит куки, потому что это вызов другого домена.

Есть идеи, как заставить это работать? Я что-то упустил?

Редактировать: я обнаружил, что перенаправление будет работать, если я добавлю URL, который находится в моем домене приложения, такой как http://myapp.mydomain.net/xyz. Однако, если я использую другой поддомен, такой как http://logout.mydomain.net/, тогда по умолчанию это страница выхода из Azure AD. Разве невозможно перенаправить на другой поддомен? Причина, по которой мне нужно это сделать, заключается в том, что мой исходный домен вообще требует аутентификации, поэтому, если я перенаправляю на что-либо в этом домене, он просто просит меня пройти аутентификацию снова. Поэтому я хочу перенаправить на домен, который не требует аутентификации.

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