适用于B2C - Xamarin PCL项目的正确ADAL包

时间:2015-10-09 01:11:51

标签: azure xamarin adal

我已经阅读了几篇关于向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

谢谢!

3 个答案:

答案 0 :(得分:1)

感谢@Kaush和@vibronet指出我正确的方向,节省了大量时间。

对于任何想要添加B2C登录和放大器的人注册流程到Xamarin Forms项目 - 我能够按如下方式混搭Android解决方案:

  1. 始终将对Microsoft.IdentityModel.Clients.ActiveDirectory的任何引用更改为Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory

  2. 将Microsoft.Experimental.IdentityModel.Clients.ActiveDirectory包添加到所有项目。如果PCL项目中出现兼容性错误,则使用'添加参考'手动添加包参考。正如@Kaush所描述的那样。我选择了' portable-net45 + win + wpa81'库。

  3. 按照此处所述实施流程:https://blog.xamarin.com/put-adal-xamarin-forms/

  4. 将通话更改为' AcquireTokenAsync'到:

  5. var result = await authContext.AcquireTokenAsync(new string [] {clientId},null,clientId,new Uri(returnUri),platformParams," {Policy_Name_Here}");

    注意:

    1. 确保权限的格式为' https://login.microsoftonline.com/ {Tenant_Name_Here} .onmicrosoft.com'

    2. 这是基于alpha代码的实验,所以期望它在不久的将来改变/破坏/进化。

答案 1 :(得分:0)

Microsoft。实验性 .IdentityModel.Clients.ActiveDirectory是B2C的正确软件包,但Xamarin方案不是此预览的目标。我们将在更新预览时添加新平台。

答案 2 :(得分:0)

我会注意@vibronet所说的内容,但是已经说过了(并且为了让你继续),这是我在你提到的示例项目中使用的所有引用的屏幕截图:

Snapshot of my references

我使用的ADAL包版本是:3.5.207081303-alpha(Prerelease),nuget没有将它添加到我的PCL库中,我最后通过“添加引用”显式添加引用并浏览到包,也许你可以尝试一样。

最后,我必须添加here

中指定的extraQueryParameters

让我知道你怎么去......