2017-05-12 9 views
2

私はこれを数日間(実際には3つ)苦労してきました。私はAAD B2CをWebアプリケーションとAPIに取り組んでいます。私はXamarinのモバイルプロジェクトでそれを稼働させることはできません。私はUWPプロジェクトを使って私の設定をテストしています。Windows 10マシンでトラブルシューティングするのが最も簡単なアプリです。私はVisual Studio 2015 Proを使用しています。Microsoft.Identity.Client 1.1.0プレビューを使用して誰でもAzure Active Directory B2Cを正常に実装しましたか?

私はMicrosoft.Identity.Client 1.1.0プレビューを使用しています。 私はこれを実装しようとする私の出発点として使用しました。今プロジェクトはコンパイルして起動します

https://github.com/Azure-Samples/active-directory-b2c-xamarin-native

。私はサインインをクリックすると、私の変数がある。ここ

[スクリーンショットの最初のイメージ]を、私はWebViewのを得るが、それは正確に右を見ていない.... ...

public class Constants 
{ 
public static string ApplicationID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; 
public static string[] Scopes = {""}; 
public static string SignUpSignInPolicy = "B2C_1_Standard_SignUpSignIn"; 
public static string ResetPasswordPolicy = "B2C_1_Standard_PasswordReset"; 
public static string EditProfilePolicy = "B2C_1_Standard_EditProfile"; 

public static string Authority = "https://login.microsoftonline.com/[MyTennantName].onmicrosoft.com/B2C_1_Standard_SignUpSignIn"; 
public static string AuthorityEditProfile = "https://login.microsoftonline.com/[MyTennantName].onmicrosoft.com/B2C_1_Standard_EditProfile"; 

public static string ApiEndpoint = "https://[MyTennantName].onmicrosoft.com/apiservices"; 

public static UIParent UiParent = null; 
} 

マイログインの方法は、私も自分のパスワードを入力することができます前に、

async void OnSignInSignOut(object sender, EventArgs e) 
{ 
    try 
    { 
     if (btnSignInSignOut.Text == "Sign in") 
     { 
      AuthenticationResult ar = await App.PCA.AcquireTokenAsync(Constants.Scopes, GetUserByPolicy(App.PCA.Users, Constants.SignUpSignInPolicy), Constants.UiParent); 
      UpdateUserInfo(ar); 
      UpdateSignInState(true); 
     } 
     else 
     { 
      foreach (var user in App.PCA.Users) 
      { 
       App.PCA.Remove(user); 
      } 
      UpdateSignInState(false); 
     } 
    } 
    catch (Exception ex) 
    { 
     // Checking the exception message 
     // should ONLY be done for B2C 
     // reset and not any other error. 
     if (ex.Message.Contains("AADB2C90118")) 
      OnPasswordReset(); 
     // Alert if any exception excludig user cancelling sign-in dialog 
     else if (((ex as MsalException)?.ErrorCode != "authentication_canceled")) 
      await DisplayAlert($"Exception:", ex.ToString(), "Dismiss"); 
    } 
} 

は、しかし、私は次のことを得る....です.... [スクリーンショットで第二の画像]

マイアプリカチオンの定義は次のようになります... [スクリーンショットの3番目の画像]

私のテナントを認識し、Microsoftアカウントでログインしようとしているとは思われません。テナント名とアプリケーションIDを二重にチェックしました。

Screenshots

私は、複数のリンクと、1枚の画像を投稿するのに十分な評判を持っていません。

また、Azure AD B2C APIアプリケーションは、Webアプリケーションで動作します。私は認証してAPIで動作するウェブアプリケーションを作成しました。

+0

あなたの機関のエンドポイントは、彼らが不足している/ TFP/ – Saca

答えて

2

/tfp/partを削除したサンプルの認証値を変更しているようです。

次のようにあなたが値を更新する必要があります

public static string Authority = "https://login.microsoftonline.com/tfp/[MyTennantName].onmicrosoft.com/B2C_1_Standard_SignUpSignIn"; 
    public static string AuthorityEditProfile = "https://login.microsoftonline.com/tfp/[MyTennantName].onmicrosoft.com/B2C_1_Standard_EditProfile"; 
+0

恐ろしいと全く正しくありません。それはそれを修正!私はビジネスに戻ってきた! – Steve

+0

こんにちはスティーブ、この質問に答えてフラグを立ててください。ありがとう! – Saca

関連する問題