Xamarin с MSAL не может сохранить токен доступа, так как группы доступа цепочки для ключей изменены во время специальной подготовки - PullRequest
0 голосов
/ 18 декабря 2018

Мы добавили последнюю библиотеку MSAL в наш проект Xamarin и добавили возможности совместного использования цепочки для ключей в список прав:

enter image description here

Приложение работает нормальнона компьютере разработчика, и приложение правильно проходит аутентификацию в Azure AD B2C.

Когда мы создаем через ADO и публикуем в App Center (подготовка Ad-Hoc), приложение создает приложение, и кажется, что оно проходит аутентификацию в 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 приложение повторно подписывается после того, как идентификатор устройства был включен в профиль обеспечения, но права Ad-Hoc профиляраздел содержит только [идентификатор приложения]. * не значение com.microsoft.adalcache.

  1. Имеет правоements.plist объединяется во время сборки в профиль, т. е. группы цепочек для ключей добавляются в раздел полномочий plist?
  2. Если да, что это и когда происходит в конвейере сборки?
  3. Как Ad-Hoc инициализация работает с этим сценарием?

Любая помощь действительно приветствуется, так как это в настоящее время блокирует нашу версию.

1 Ответ

0 голосов
/ 22 января 2019

С MSAL 2.7.0 , теперь MSAL разрешает TeamId во время выполнения.Новое свойство iOSKeychainSecurityGroup следует использовать вместо KeychainSecurityGroup.Более подробную информацию можно найти здесь .Также была ошибка в AppCenter, когда они использовали подстановочный знак в правах при повторной подписи приложения.Это было исправлено с 1 / 21.

...