我使用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重现了这个问题,除了配置之外没有任何代码更改。
答案 0 :(得分:1)
ADFS v3.0不支持权限验证,因此我更新了身份验证上下文构造函数:
let authContext = ADAuthenticationContext(authority: AdalAuthority,
error: nil)
为:
let authContext = ADAuthenticationContext(authority: AdalAuthority,
validateAuthority: false,
error: nil)
让它发挥作用。