作者:手机用户2502922313 | 来源:互联网 | 2022-11-24 17:00
我们已将最新的MSAL库添加到我们的Xamarin项目中,并将钥匙串共享功能添加到了权利plist中:
该应用程序可以在开发人员计算机上正常构建,并且可以针对Azure AD B2C正确进行身份验证。
当我们通过ADO构建并在App Center中发布(临时配置)时,该应用将构建,并且似乎针对Azure AD B2C进行身份验证,但不与我们的其他Azure资源(API,存储等)进行通信。确认没有找到钥匙串访问组,并且在正常进行身份验证时,MSAL无法将访问令牌保存在钥匙串中。
iOSTokenCacheAccessor.Save (System.String account, System.String service, System.String generic, System.Int32 type, System.String value)
Microsoft.Identity.Client.MsalClientException: The application does not have keychain access groups enabled in the Entitlements.plist. As a result, there was a failure to save to the iOS keychain
。
我们认为这是因为在Ad-Hoc设置过程中,设备ID已包含在设置配置文件中之后,应用才被重新签名,但是Ad-Hoc配置文件权利部分仅包含[app ID]。*而不是com.microsoft。 adalcache值。
在构建到配置文件期间,entitlements.plist是否会合并,即将钥匙串组添加到plist的entitlements部分?
如果是这样,这是什么?什么时候在构建管道中发生?
在这种情况下,临时配置如何工作?
非常感谢您的帮助,因为这目前阻止了我们的发布。
1> 小智..:
从MSAL 2.7.0开始,MSAL现在在运行时解析TeamId。iOSKeychainSecurityGroup
应该使用新属性代替KeychainSecurityGroup
。可以在此处找到更多信息。AppCenter中还存在一个错误,即当他们重新签名应用程序时,他们在“权利”中使用通配符。自1/21起已修复。