Изменить URL-адрес для входа Azure AD B2C (изменить AzureADB2C / Account / SignedOut на пользовательский URL-адрес) - PullRequest
2 голосов
/ 08 июля 2019

В настоящее время я создаю приложение C # Net Core 2.2, в котором для входа в систему / аутентификации используется Azure B2C OIDC. Я настроил страницу входа в систему и знаю, как настроить экраны редактирования / забытого пароля с помощью CSS и кода, размещенного на моем сайте, с использованием пользовательских макетов страниц.

Проблема, с которой я сталкиваюсь, заключается в том, что при выходе из системы меня перенаправляют в / AzureADB2C / Account / SignOut. Я хотел бы либо изменить CSS, как я могу на странице входа, либо изменить этот URL, чтобы перейти к пользовательскому действию контроллера, размещенному на моем сайте.

Кто-нибудь знает, как / как этот процесс управляет этим? Кажется странным, что у них были бы собственные макеты, доступные для всего, кроме процесса выхода.

В качестве обходного пути я обнаружил, что могу добавить «опцию перезаписи» для обработки URL-адрес SignOut и перезаписать его на контроллер, установленный на моем сайте. Тем не менее, я не уверен, что это оптимальный способ сделать это задача, это было на очень непонятной странице MSDN, но это работает. Смотрите ниже:

// Inside Startup.cs
// Workaround for SignedOut URL error in MSFT code 
RewriteOptions rewrite = new RewriteOptions().AddRedirect("AzureADB2C/Account/SignedOut","Account/SignedOut"); 
app.UseRewriter(rewrite);

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Я предполагаю, что вы используете пользовательские правила (политики) для настройки страниц входа / редактирования профиля / сброса пароля.Вы можете заметить, что поток пользователей Signout отсутствует, поэтому здесь вы ничего не можете с этим поделать.

Но MS предоставляет вам еще один способ создать свою собственную страницу после выхода из системы.При выходе из веб-приложения вы должны перенаправить на конечную точку выхода B2C, как описано здесь .(Примечание: это то, что вы должны делать в любом случае, даже если вам не нужна пользовательская страница выхода из системы)

Если вы хотите вывести пользователя из приложения, его недостаточно для очисткифайлы cookie приложения или иным образом завершают сеанс с пользователем.Перенаправьте пользователя в Azure AD B2C для выхода.Если вы этого не сделаете, пользователь может повторно пройти аутентификацию в вашем приложении без повторного ввода своих учетных данных.

Конечная точка выхода из системы может получить необязательный параметр post_logout_redirect_uri в запросестрока, где вы можете указать другой URL-адрес, где ваш пользователь будет окончательно перенаправлен B2C.Это может быть адрес любого ресурса, например, вашей домашней страницы или вашей собственной страницы, показывающей пользователю сообщение «Вы успешно вышли из нашего сервиса».

post_logout_redirect_uri - TheURL-адрес, на который должен быть перенаправлен пользователь после успешного выхода. Если он не включен, Azure AD B2C показывает пользователю общее сообщение.

0 голосов
/ 08 июля 2019

В настоящее время мы не можем настраивать пользовательский интерфейс выхода напрямую, используя пользовательские макеты страниц.

Использование метода RewriteOptions() является необязательным для вас способом. Или вы можете просто создать свой собственный AccountController вместо того, чтобы использовать стандартный по умолчанию, поставляемый с ASP.NET CORE. Их принципы одинаковы.

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