1

Предположим, у меня есть 2 URLs указывая на один веб-сайт, просто использовать сайт связывания, например:Single Sign On С Azure AD с двумя URL-

productname1.company.com 
productname2.company.com 

Наш веб-приложение делает одиночный знак на Azure Active Directory, так и в Настройка приложения Azure, я поставил:

productname1.company.com 

для SIGN-ON URL и отвечайте URL:

enter image description here

Если пользователь пришел к productname1.company.com, то аутентификация на одном из лазурных объектов работает отлично.

Но если пользователь достигает productname2.company.com, он вообще не работает и перенаправляется на страницу входа productname1.company.com.

Как настроить, чтобы он работал с productname2.company.com, я использую OWIN OpenIdConnect, чтобы выполнить один вход с Azure AD.

ответ

2

Вы можете добавить productname2.company.com в качестве второго URL-адреса ответа, а затем указать, что ваше приложение указывает соответствующий URL-адрес ответа при перенаправлении в AAD.

Вы можете сделать это в уведомлении RedirectToIdentityProvider в пределах OpenIdConnectAuthenticationOptions, используемого для настройки OWIN OpenID Connect.

app.UseOpenIdConnectAuthentication(
    new OpenIdConnectAuthenticationOptions 
    { 
     Notifications = new OpenIdConnectAuthenticationNotifications() 
     { 
     RedirectToIdentityProvider = (context) => 
      { 
       // This ensures that the address used for sign in and sign out is picked up dynamically from the request 
       // this allows you to deploy your app (to Azure Web Sites, for example) without having to change settings 
       // Remember that the base URL of the address used here must be defined as a Redirect URI in Ping beforehand. 
       string appBaseUrl = context.Request.Scheme + "://" + context.Request.Host + context.Request.PathBase; 
       string currentUrl = context.Request.Scheme + "://" + context.Request.Host + context.Request.Path; 
       context.ProtocolMessage.RedirectUri = currentUrl; 
       context.ProtocolMessage.PostLogoutRedirectUri = appBaseUrl; 
      } 
     } 
    } 
+0

Не знаете, почему вы устанавливаете .PostLogoutRedirecteUri, но это не должно причинить никакого вреда. –

+0

Это не нужно для потока входа в систему, но если вы выполняете выход из системы, вы можете указать его. – BenV