Microsoft 为新的 MSAL 预览链接到的示例(由 Xamarin Forms 用于连接到 AD B2C)在我看来,它没有连接到正确的权限(租户)。这是真的?其他人试过这个吗?
这是示例:active-directory-b2c-xamarin-native
当运行他们的示例而不更改他们的连接信息(即连接到他们的 fabrikamb2c 租户)时,它将在 Chrome 浏览器中拉出一个登录页面。如果我告诉它连接到不同的帐户,它会提取我现有的 Microsoft 帐户——因此查看 Microsoft AD 租户。此外,如果我创建自己的 AD B2C 租户并将该连接信息放入示例中,它仍会尝试针对 Microsoft 租户而不是我的新 AD B2C 租户对我进行身份验证。
其他人是否在使用新的 MSAL 预览库和移动客户端登录时遇到问题?
--下一个信息将在 5/29 添加
我参与过三个不同的项目。首先,我直接使用 Microsoft 示例项目 (active-directory-b2c-xamarin-native),连接到 fabrikamb2c.onmicrosoft.com 并使用提供的配置数据。其次,我接受了那个项目,并为我自己新创建的广告 b2c 租户更新了配置。第三,我有自己的项目,该项目正在使用以前版本的 MSAL,我对其进行了更新以使用新版本。
我在周五使用配置运行示例项目时遇到了问题。但它现在正在运行并为我创建一个本地帐户。由于某种原因,我无法做到这一点。反正现在看起来不错。
运行示例项目,但更新配置信息以针对我新创建的广告 b2c 租户进行身份验证,我遇到了一些麻烦。目前,当我尝试创建一个新帐户时,它会给我以下消息:
但是在消除异常后,它已经登录并给了我登录信息。
最后,在我自己的项目中,我收到一条错误消息,听起来好像我是正在针对不同租户进行身份验证的用户。我尝试登录的用户确实存在于租户中。我已经使用以前版本的 MSAL 与该用户登录,当我进入 Azure AD B2C 中的租户时,我可以看到该用户。这是错误消息-查看详细信息。
编辑:本节于 2017 年 6 月 1 日添加
这是具有我的配置的 App.cs 部分。还有其他几个地方我必须进行配置更改,但其余代码来自上面提到的 Microsoft 示例:
public static string ClientID = "28a[edited this out]428";
public static string PolicySignUpSignIn = "B2C_1_SignUpSignIn";
public static string PolicyEditProfile = "B2C_1_EditProfile";
public static string PolicyResetPassword = "B2C_1_PasswordReset";
//public static string[] Scopes = { "https://fabrikamb2c.onmicrosoft.com/demoapi/demo.read" };
public static string[] Scopes = { "Mail.read" };
public static string ApiEndpoint = "https://[edited this out].azurewebsites.net/";
public static string AuthorityBase = "https://login.microsoftonline.com/tfp/[edited this out].onmicrosoft.com/"; //this is my resource name in my ad b2c settings
public static string Authority = $"{AuthorityBase}{PolicySignUpSignIn}";
public static string AuthorityEditProfile = $"{AuthorityBase}{PolicyEditProfile}";
public static string AuthorityPasswordReset = $"{AuthorityBase}{PolicyResetPassword}";