C# 在Xamarin.iOS中使用Azure AD B2C和模拟器-钥匙链问题(团队ID为空)

C# 在Xamarin.iOS中使用Azure AD B2C和模拟器-钥匙链问题(团队ID为空),c#,xamarin,xamarin.forms,xamarin.ios,azure-ad-b2c,C#,Xamarin,Xamarin.forms,Xamarin.ios,Azure Ad B2c,我正在开发一个Xamarin.Forms应用程序,并为auth设置Azure广告B2C。我在跟踪调查。 安道尔的一切工作都完美无缺,但我面临着iOS项目的问题 我已经设置了教程中提到的所有内容,但这还不够。在中,它描述了如何将iOS捆绑签名配置为引用为自定义授权授权。plist。否则会出现以下错误: Microsoft.Identity.Client.MSALClient异常:应用程序无法 访问应用程序发布者的iOS密钥链(TeamId为 空)。这是在的应用程序之间启用单点登录所必需的 同一个出

我正在开发一个Xamarin.Forms应用程序,并为auth设置Azure广告B2C。我在跟踪调查。 安道尔的一切工作都完美无缺,但我面临着iOS项目的问题

我已经设置了教程中提到的所有内容,但这还不够。在中,它描述了如何将iOS捆绑签名配置为引用为自定义授权授权。plist。否则会出现以下错误:

Microsoft.Identity.Client.MSALClient异常:应用程序无法 访问应用程序发布者的iOS密钥链(TeamId为 空)。这是在的应用程序之间启用单点登录所必需的 同一个出版商。这是一个iOS配置问题。看见 有关 启用钥匙链访问

好吧,如果您使用模拟器进行此操作,它将无法工作,因为显然,在使用模拟器时,您无法在iOS捆绑签名配置中设置任何自定义权限(注释)

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

编辑:如果您没有Apple开发者程序签名身份,似乎无法设置自定义权限。这是否意味着如果没有参加苹果开发计划,我就无法在iOS模拟器中测试Azure AD B2C


谢谢

您可以在iOS模拟器中使用自定义权限,包括密钥链访问组。这和为设备构建设置自定义权限的方式相同,只是在默认情况下对模拟器禁用了它。步骤:

  • 修改您的自定义
    权限。plist
    以包括钥匙链访问组:

    <key>keychain-access-groups</key>
    <array>
         <string>$(AppIdentifierPrefix)com.microsoft.adalcache</string>
    </array>
    
    钥匙链访问组
    


    一旦你准备好了,MSAL库将能够访问该密钥链组,在应用程序发布之间存储机密。

    你说得对。在我的问题中,我忽略了一个重要的问题:不支付苹果开发人员的费用是否可能?我想不会,因为您需要设置签名标识。@JuliusSD Hi,如果答案有帮助,记得在有时间时标记它。这将有助于其他有同样问题的人。@JuliusSD为了在模拟器上运行,您不需要apple dev订阅,因此您可以按原样在模拟器上构建和测试。如果你想在ios设备上运行该应用程序,你需要一个签名软件包,要获得该配置文件,你需要一个apple dev订阅。是的,我可以在我的模拟器中运行该应用程序,但我无法在没有apple dev程序的情况下设置AAD B2C:(因为它需要为iOS sim启用keychain groupFor iOS sim,所以不需要开发人员帐户,您是否尝试按照上面我的屏幕截图进行配置?设置开发人员自动设置并尝试在模拟器上运行(它在设备上不起作用,但在sim上起作用)。如果您遇到错误,请将其张贴在问题中以供进一步调查。