簡體   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