2016-08-25 22 views
2

XAMarin.Forms-Windows 8.1-AppをAzure AD B2CにカスタムSignInSignUpポリシーで接続するためにMSALを使用していますカスタム電子メールアドレスとパスワードを使用してユーザーを認証します)。 Azure AD(カスタムポリシーなし)に対する「通常の」認証は正常に機能しますが、ポリシーを使用すると、「今必要なサービスに接続できません。ネットワーク接続を確認するか、後でもう一度試してください。資格情報を入力した後は毎回表示されます(直接ダイアログ内に表示されます)。ダイアログが正しく終了しないため、例外やAuthenticationResultを取得していないため、具体的な問題を特定できません(インターネット接続自体は問題ではありません)。XamarinフォームでAcquireTokenAsync()を使用すると、Azure AD B2Cとカスタムポリシーを使用するWindowsアプリケーション

注:同じ問題につながるXamarin.Forms-UWP-Appでも試しました。 iOSの下ではうまくいき、ダイアログが終了して正しく閉じます。

NuGetバージョン: MSAL(Microsoft.Identity.Client):1.0.304142201アルファ Xamarin.Forms:2.3.2.118-PRE1

を自分のコード厥(簡体字):

var clientId = "{My application's ClientId}"; 
var redirectUri = "urn:ietf:wg:oauth:2.0:oob"; 
var authority = "https://login.microsoftonline.com/{My Azure AD B2C}"; 
string[] scopes = { clientId }; 
var policy = "{My SignUpSignIn policy}"; 

var clientApplication = new PublicClientApplication (authority, clientId); 
clientApplication.RedirectUri = redirectUri; 

var result = await this.clientApplication.AcquireTokenAsync(scopes, string.Empty, UiOptions.SelectAccount, string.Empty, null, authority, policy); 

これに関するアイデア?

ありがとうございます!

よろしく、
マルセル

答えて

2

私は同じ問題がありました。 AzureのB2Cブレードで

  1. は、アプリケーションを選択し、への応答のURLを設定します。私は私の問題を解決し、私が撮った

    のステップだったのActive Directoryを経由して適切にlogginを許可するように私のモバイルアプリを設定するのを忘れ判明Azure Mobile Appsインスタンスのアドレス(例:https://myapp.azurewebsites.net)、その後に/.auth/login/aad/callback

  2. Azure Active Directory B2Cテナントで使用されるポリシーを、返信URLが上記と同じ
  3. Azureのモバイルまたはサービスアプリケーションでは、設定に移動します - > authenticati AADでログインするように認証されていない要求が設定されていることを確認してください。
  4. 同じブレード内でAADプロバイダを選択し、クライアントIDと発行者URLを設定します。 Azure Active Directory B2CテナントのID、Azure Active Directory B2CポリシーのメタデータエンドポイントであるIssuer Url

上記を実行すると、すべて正常に動作します。 より詳細な説明はhttps://developer.xamarin.com/guides/xamarin-forms/web-services/authentication/azure-ad-b2c-mobile-app/

で発見することができ、これは助けなら、私に教えてください...

関連する問題