Совместим ли ADAL для iOS с ADFS версии 3.0? - PullRequest
0 голосов
/ 08 мая 2018

Я использую библиотеку AzureAD для Objective-C (https://github.com/AzureAD/azure-activedirectory-library-for-objc) для подключения к ADFS 3.0 в 2012 R2 с использованием потока предоставления кода авторизации OAuth 2.

Я получаю ошибку:

Error with code: AD_ERROR_DEVELOPER_INVALID_ARGUMENT 
Domain: ADAuthenticationErrorDomain ProtocolCode:(null) 
Details:The argument 'user principal name' is invalid. 
Value:(null). 
Inner error details: Error Domain=ADAuthenticationErrorDomain Code=100 "(null)"

У нас есть приложение для Android, которое успешно подключается, поэтому я не думаю, что это настоящая ошибка.

Я использую v2.6.3 библиотеки на iOS 11.3, как на iPhone 6, так и на симуляторе с одинаковыми результатами.

Я воспроизвел проблему, используя SampleSwiftApp, включенный в репозиторий, без каких-либо изменений кода, кроме конфигурации.

  • v2.6.3 совместим с ADFS v3.0 на 2012 R2?
  • Можно ли заставить его работать с изменением конфигурации?

1 Ответ

0 голосов
/ 08 мая 2018

ADFS v3.0 не поддерживает проверку прав доступа, поэтому я обновил конструктор контекста аутентификации с:

let authContext = ADAuthenticationContext(authority: AdalAuthority,
                                          error: nil)

до:

let authContext = ADAuthenticationContext(authority: AdalAuthority,
                                          validateAuthority: false,
                                          error: nil)

чтобы заставить его работать.

...