2017-05-08 13 views
0

MSAL에서 사용할 수없는 ADAL의 고급 인증 시나리오를 사용해야합니다.현재 Azure AD v1 (ADAL)을 사용하여 인증하고 있습니다. Outlook.com 계정에 대한 지원을 어떻게 추가합니까?

은 또한, 나는 outlook.com 사용자 (live.com/개인 계정)에 로그인 할 수 있어야합니다.

Live SDK isn't available, 아직 나는 새로운 응용 프로그램 식별자 within the portal을 만들 수 있어요.

질문

  • 내 목표는 ADALv1를 지원하기 위해, 또한 LiveID 계정을 지원하는 경우, 내가 어떤 길을 가야하나요?

Azure와 Office가 이미 수행 한 것과 비슷한 두 페이지 인증 화면을 고려하고 아래 표시된 것처럼 이메일 주소를 쿼리하는 것이 좋습니다.

http://odc.officeapps.live.com/odc/emailhrd/getidp?hm=0&[email protected] 

https://login.microsoftonline.com/[email protected] 

광고에 사용자 계정 만있는 경우 AzureAD로 투명하게 리디렉션됩니다.

Outlook.com/live.com에 계정이있는 경우 리디렉션 할 것입니다.

답변

0

처리하는 제한 사항이 확실하지 않습니다. 그러나 언급 한 포털은 Azure AD V2.0 끝점에 대한 응용 프로그램을 등록합니다.

시나리오에 Azure AD 계정에 로그인 할 때 별도의 버튼을 제공하는 것이 도움이됩니까? 예 당신이 아래의 코드를 참조 할 경우 선택

제공자 두 개의 단추가있는 로그인에서 계정 :

<input type="button" value="AzureAD" onclick="location.href='@Url.Action("SignIn", "Account",new { provider="aad"})'" /> 
<input type="button" value="Microsoft" onclick="location.href='@Url.Action("SignIn", "Account",new { provider="microsoft"})'" /> 

계정 컨트롤러 :

public void SignIn(string provider,string ReturnUrl = "/") 
{ 
    if (!Request.IsAuthenticated) 
    { 
     if ("aad" == provider) 
      HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = ReturnUrl }, OpenIdConnectAuthenticationDefaults.AuthenticationType); 
     else 
      HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = ReturnUrl }, "Microsoft"); 
    } 
} 

Startup.cs

app.UseMicrosoftAccountAuthentication(
     clientId: "", 
     clientSecret: ""); 

    app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions 
    { 
     ClientId = "", 
     Authority = "", 
    });