2017-05-08 5 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がすでに行っているような2ページの認証画面があり、以下に示すように電子メールアドレスを照会することを検討しています。

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

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

ADにユーザーアカウントしかない場合は、AzureADに透過的にリダイレクトされます。

Outlook.com/live.comにアカウントしかない場合は、そこでリダイレクトします。

答えて

0

処理していた制限がわかりません。しかし、あなたが言及したポータルは、Azure AD V2.0エンドポイント用のアプリを登録することです。

シナリオでAzure ADアカウントにログインするために別のボタンを提供すると便利ですか?はいあなたは下のコードを参照することができた場合:選択し

プロバイダ2つのボタンがどのサインインするアカウント:

<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 = "", 
    }); 
関連する問題