繁体   English   中英

在带有模拟器的 Xamarin.iOS 中使用 Azure AD B2C - 钥匙串问题(团队 ID 为空)

[英]Using Azure AD B2C in Xamarin.iOS with simulator - Problem with keychain (the Team ID is null)

我正在开发 Xamarin.Forms 应用程序,并设置 Azure AD B2C 以进行身份​​验证。 我正在关注官方教程 对于 Andorid,一切都完美无缺,但我在 iOS 项目中遇到了问题。

我已经设置了教程中提到的所有内容,但这还不够。 这篇文章中,它描述了您应该如何配置iOS 捆绑签名以引用自定义权利Entitlements.plist 否则你会得到这个错误:

Microsoft.Identity.Client.MsalClientException:应用程序无法访问应用程序发布者的 iOS 钥匙串(TeamId 为空)。 这是在同一发布者的应用程序之间启用单点登录所必需的。 这是一个 iOS 配置问题。 有关启用钥匙串访问的更多详细信息,请参阅https://aka.ms/msal-net-enable-keychain-access

好吧,如果您使用模拟器执行此操作,它显然不起作用,因为在使用模拟器时,您无法在 iOS 捆绑签名配置中设置任何自定义权利( 此处评论)。

这是否意味着我无法在 iOS 模拟器中测试 Azure AD B2C?

编辑:如果您没有 Apple Developer Program 签名标识,则似乎无法设置自定义权利。 这是否意味着我无法在未注册 Apple 开发计划的情况下在 iOS 模拟器中测试 Azure AD B2C?

谢谢!

您可以在 iOS 模拟器中使用自定义权利,包括钥匙串访问组。 它的完成方式与您为设备构建设置自定义权利的方式相同,默认情况下它只是为模拟器禁用。 脚步:

  1. 修改您的自定义Entitlements.plist以包含钥匙串访问组:

     <key>keychain-access-groups</key> <array> <string>$(AppIdentifierPrefix)com.microsoft.adalcache</string> </array>
  2. 将权利应用到项目设置中的 iOS 模拟器配置:

在此处输入图片说明

完成此设置后,MSAL 库将能够访问该钥匙串组以在应用程序启动之间存储机密。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM