iOS 的 ADAL 是否与 ADFS 3.0 版兼容?
Is ADAL for iOS compatible with ADFS version 3.0?
我正在使用 Objective-C (https://github.com/AzureAD/azure-activedirectory-library-for-objc) 的 AzureAD 库使用 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 兼容?
- 我可以通过更改配置让它工作吗?
ADFS v3.0 不支持权限验证,因此我更新了身份验证上下文构造函数:
let authContext = ADAuthenticationContext(authority: AdalAuthority,
error: nil)
至:
let authContext = ADAuthenticationContext(authority: AdalAuthority,
validateAuthority: false,
error: nil)
让它发挥作用。
我正在使用 Objective-C (https://github.com/AzureAD/azure-activedirectory-library-for-objc) 的 AzureAD 库使用 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 兼容?
- 我可以通过更改配置让它工作吗?
ADFS v3.0 不支持权限验证,因此我更新了身份验证上下文构造函数:
let authContext = ADAuthenticationContext(authority: AdalAuthority,
error: nil)
至:
let authContext = ADAuthenticationContext(authority: AdalAuthority,
validateAuthority: false,
error: nil)
让它发挥作用。