0

저는 Azure AD를 처음 사용합니다.Azure AD는 Microsoft 로그인 페이지에 로그인 한 후 멈춤니다.

나는 Azure AD 인증과 통합 된 ASP.Net Azure 응용 프로그램을 가지고 있습니다. 나는 Azure 클라우드에 애플리케이션을 배치했으며 http로 실행되도록 구성했습니다. 가끔 Azure AD는 로그인 화면에서 SignIn 버튼을 클릭 한 후 멈추고 내 애플리케이션으로 리디렉션하지 않습니다.

github에서 CookieAuthenticationOptions의 CookieSecure = CookieSecureOption.SameAsRequest를 사용하라는 제안을 발견했습니다. 나는이 일을 시도하고 푸른 색으로 솔루션을 배치했지만 아직도 작동하지 못했습니다. 아래 코드는 Startup.cs의 코드입니다.

public void ConfigureAuth(IAppBuilder app) 
    { 
     string clientId = GetConfigValue("ida_ClientId"); 
     string aadInstance = GetConfigValue("ida_AADInstance"); 
     string tenant = GetConfigValue("ida_Tenant"); 
     string domain = GetConfigValue("ida_Domain"); 
     string authority = GetConfigValue("ida_Authority"); 
     string postLogoutRedirectUri = GetConfigValue("ida_RedirectUri"); 

     bool devEnvironment = Convert.ToBoolean(GetConfigValue("DevEnvironment")); 

     app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); 
     app.UseCookieAuthentication(new CookieAuthenticationOptions() 
     { 
      CookieHttpOnly = true, 
      CookieSecure = devEnvironment ? CookieSecureOption.SameAsRequest : CookieSecureOption.Always, 
     }); 

     app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions 
     { 
      ClientId = clientId, 
      Authority = authority, 
      PostLogoutRedirectUri = postLogoutRedirectUri, 
      RedirectUri = postLogoutRedirectUri, 
      Notifications = new OpenIdConnectAuthenticationNotifications 
      { 
       AuthenticationFailed = context => 
       { 
        context.HandleResponse(); 
        context.Response.Redirect("/Error?message=" + context.Exception.Message); 
        return Task.FromResult(0); 
       } 
      } 
     }); 
    } 

    private string GetConfigValue(string key) 
    { 
     if (RoleEnvironment.IsAvailable) 
     { 
      return RoleEnvironment.GetConfigurationSettingValue(key); 
     } 
     else 
     { 
      return ConfigurationManager.AppSettings[key]; 
     } 
    } 

이 문제를 해결하는 데 도움을주십시오. 미리 감사드립니다.

답변

0

스레드에서 지정한대로이 문제는 일반적으로 HTTP를 사용하고 HTTPS로 리디렉션하는 경우에 발생합니다. 이 문제를 방지하려면 항상 HTTPS를 사용하고 있는지 확인하십시오.

또한 Azure에서 게시하고 OWIN 미들웨어를 사용하는 경우 '인증/승인'기능을 비활성화하여 'express authentication'을 비활성화하십시오.