MSAL вернул неверный токен из образца iOS Swift - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь аутентифицировать пользователя с помощью Azure B2C в приложении для iOS.Я использую образец, который доступен здесь: https://github.com/Azure-Samples/active-directory-b2c-ios-swift-native-msal

Я могу получить токен, но при попытке вызвать защищенный веб-сервис я получаю ошибку 401.Когда я использую PostMan и получаю токен, а затем копирую его в приложение, он работает правильно.

Похоже, что URL-адреса, используемые для получения токенов, отличаются - этот работает в PostMan: https://{orgname}.b2clogin.com/tfp/{tenant}/oauth2/v2.0/authorize?p={policy}

Этот URL-адрес по умолчанию установлен в MSAL в примере с iOS: https://login.microsoftonline.com/tfp/{tenant}/{policy}

Я попытался обновить переменную kAuthority, чтобы она стала URL-адресом, который работает в PostMan, но приводит к ошибке:

▿ Необязательно - некоторые: Ошибка Домен = Код MSALErrorDomain = -42002 "(null)" UserInfo = {MSALErrorDescriptionKey = Проверка полномочий не поддерживается для этого типа полномочий}

Кто-нибудь знает правильную конфигурацию дляБиблиотека MSAL для новых URL-адресов b2clogin.com?

1 Ответ

1 голос
/ 27 июня 2019

Цитирование из документов: https://docs.microsoft.com/en-us/azure/active-directory-b2c/b2clogin#set-the-validateauthority-property

Если вы используете MSAL, установите для свойства ValidateAuthority значение false.Если для ValidateAuthority задано значение false, перенаправления разрешаются на b2clogin.com.

Поэтому необходимо отключить проверку полномочий для использования URL-адресов b2clogin.com.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...