Quantcast
Channel: Xamarin.Forms — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 77050

Has anyone successfully implemented the latest versions of Azure Active Directory B2C for auth?

$
0
0

I have been struggling with this for several days (three actually). I have AAD B2C working on a web app and an api. I cannot get it running on my Xamarin mobile project. I am using the UWP project to test my configuration since it has the easiest app to troubleshoot on a Windows 10 machine. I am using Visual Studio 2015 Pro.

I am using the Microsoft.Identity.Client 1.1.0-preview.

Right now the project will compile and launch. When I click on Sign in, I get a WebView, but it doesn't look exactly right....

Here are my variables...

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/";
    public static string AuthorityEditProfile = "https://login.microsoftonline.com/[MyTennantName].onmicrosoft.com/";

    public static string ApiEndpoint = "com.[appname].app://mobile/";

    public static UIParent UiParent = null;
}

My Login method is....

    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");
        }
    }

However before I can even enter my password I get the following....

My application definition looks like this...

Any help would be greatly appreciated.

Steve


Viewing all articles
Browse latest Browse all 77050


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>