[英]Azure AD B2C on Xamarin.Forms throwing error B2C 'authority' Uri should have at least 3 segments
我正在尝试将 Azure AD B2C 集成到 Xamarin.Forms 应用程序中。 我按照本指南作为初学者。 我创建了 Azure AD B2C 租户。 当我打开租户的端点时,我看到的是
如您所见,URL 的一般模式是https://TENANT.b2clogin.com/TENANT.onmicrosoft.com/<policy-name>/
但是,在样本内部,URL 的形成方式不同: https://TENANT.b2clogin.com/tfp/TENANT.onmicrosoft.com/<policy-name>/
注意tfp位。
如果我从 URL 格式中删除tfp
部分,则只要执行这些行
var builder = PublicClientApplicationBuilder.Create(B2CConstants.ClientID)
.WithB2CAuthority(B2CConstants.AuthoritySignInSignUp)
.WithIosKeychainSecurityGroup(B2CConstants.IOSKeyChainGroup)
.WithRedirectUri($"msal{B2CConstants.ClientID}://auth");
我收到以下异常
System.ArgumentException: B2C 'authority' Uri should have at least 3 segments in the path (i.e. https://<host>/tfp/<tenant>/<policy>/...)
显然,MSAL.NET API 期望 URI 应该包含tfp
位,但端点确实没有。
我正在使用4.17.1
版本的Microsoft.Identity.Client
。
MSAL.NET 中的最新 API 似乎与最新的 Azure AD B2C 不兼容。 有什么解决方法吗?
看来我做错了。 我不应该使用 B2C 本身的端点,而是应该创建特定的 iOS 和 Android 应用程序注册。 这就是我所做的。
完成这些步骤后,一切正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.