我已经阅读了几篇关于向Xamarin PCL项目添加Azure Active Directory登录功能的文章(例如https://blog.xamarin.com/put-adal-xamarin-forms/),但我仍然无法使其工作。
有人可以澄清用于Azure B2C AD的正确ADAL包(适用于Xamarin PCL项目)吗?
是吗:
Microsoft.IdentityModel.Clients.ActiveDirectory
OR
Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory
谢谢!
答案 0 :(得分:1)
感谢@Kaush和@vibronet指出我正确的方向,节省了大量时间。
对于任何想要添加B2C登录和放大器的人注册流程到Xamarin Forms项目 - 我能够按如下方式混搭Android解决方案:
始终将对Microsoft.IdentityModel.Clients.ActiveDirectory的任何引用更改为Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory
将Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory包添加到所有项目。如果PCL项目中出现兼容性错误,则使用'添加参考'手动添加包参考。正如@Kaush所描述的那样。我选择了' portable-net45 + win + wpa81'库。
将通话更改为' AcquireTokenAsync'到:
var result = await authContext.AcquireTokenAsync(new string [] {clientId},null,clientId,new Uri(returnUri),platformParams," {Policy_Name_Here}");
注意:
确保权限的格式为' https://login.microsoftonline.com/ {Tenant_Name_Here} .onmicrosoft.com'
这是基于alpha代码的实验,所以期望它在不久的将来改变/破坏/进化。
答案 1 :(得分:0)
Microsoft。实验性 .IdentityModel.Clients.ActiveDirectory是B2C的正确软件包,但Xamarin方案不是此预览的目标。我们将在更新预览时添加新平台。
答案 2 :(得分:0)
我会注意@vibronet所说的内容,但是已经说过了(并且为了让你继续),这是我在你提到的示例项目中使用的所有引用的屏幕截图:
我使用的ADAL包版本是:3.5.207081303-alpha(Prerelease),nuget没有将它添加到我的PCL库中,我最后通过“添加引用”显式添加引用并浏览到包,也许你可以尝试一样。
最后,我必须添加here
中指定的extraQueryParameters让我知道你怎么去......