ADAL for iOS是否与ADFS 3.0版兼容?

时间:2018-05-08 12:11:12

标签: ios adal adfs3.0

我使用AzureAD Library for Objective-C(https://github.com/AzureAD/azure-activedirectory-library-for-objc)使用OAuth 2授权代码授权流程连接到2012 R2上的ADFS 3.0。

我收到错误:

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应用,所以我不认为这是真正的错误。

我在iOS 11.3上使用v2.6.3,在iPhone 6和模拟器上使用相同的结果。

我使用repo附带的SampleSwiftApp重现了这个问题,除了配置之外没有任何代码更改。

  • v2.6.3是否与2012 R2上的ADFS v3.0兼容?
  • 我可以使用配置更改吗?

1 个答案:

答案 0 :(得分:1)

ADFS v3.0不支持权限验证,因此我更新了身份验证上下文构造函数:

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

为:

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

让它发挥作用。