使用ADAL请求Office 365政府身份验证令牌时的服务器超时

问题描述 投票:0回答:1

将ADAL库与政府帐户一起使用时,授权令牌请求会因服务器超时而失败。需要令牌才能对服务器进行EWS调用。使用的权限是“https://logon.microsoftonline.us”。资源是“https://outlook.office.us”。

从公共租户(我们的公司租户)和我们的产品中检索令牌时没有问题。我们使用“”https://logon.microsoftonline.com“收到令牌。资源是”https://outlook.office.com“。

我们可以在“https://owa.us.af.mil/f5-w- {REDACTED} / adfs / ls /?client-request-id = {REDACTED}”中使用相同的凭据访问服务器。但ADAL超时时间为“https://federation.us.af.mil/adfs/ls/?login_hint= {删除} .af.mil&client-request-id = {删除}}&username = {删除} .af.mil&wa = wsignin1.0&wtrealm = {删除}}”

政府服务器是否具有正确的ADFS配置?如果是这样,可能的解决方案是什么?

我们的租户设置正确吗?我们是否需要公共租户才能获得公共应用,政府租户需要政府租户?或者那些可以互换?

我们设置了一个公共和政府AAD应用程序来处理令牌请求。我们认为这可能是问题所在。没变。我还对请求中使用的权限和资源做了几处变化。没变。我甚至使用我们的HTTPS协议而不是标准的Apple HTTPS协议。

以下是使用的上下文设置和令牌调用方法。

let authContext = ADAuthenticationContext(authority: authority, validateAuthority: true, error: &error)
authContext?.credentialsType = AD_CREDENTIALS_EMBEDDED
authContext?.acquireToken(withResource: self.resource, clientId: self.clientId, redirectUri: self.redirectUri,
                                      userId: self.userID!, completionBlock: { result in })

此时令牌请求将始终超时:

ADAL 2.7.5 iOS Sim 12.1 [2018-12-12 17:14:38 - F06F784C-7F5B-4231-BE34-714AF8204357] -webAuthDidFailWithError:错误域= NSURLErrorDomain代码= -1001“请求超时。” UserInfo = {NSUnderlyingError = 0x600002fa5380 {错误域= kCFErrorDomainCFNetwork代码= -1001“请求超时。”的UserInfo = {NSErrorFailingURLStringKey = https://federation.us.af.mil/adfs/ls/?login_hint= {绝密} .af.mil&客户请求-ID = {数据被编辑}&用户名= {数据被编辑} .af.mil&WA = wsignin1.0&wtrealm = {}删节

用户体验带有空白屏幕的弹出窗口。该窗口通常会显示文本,要求获得使用该应用程序的权限。超时消息大约在60秒后发生。

authentication azure-active-directory exchangewebservices adal azure-gov
1个回答
1
投票

为此延迟回应道歉。您应该使用的资源是portal.apps.mil或outlook-dod.office365.us,而不是outlook.office365.us。

这有帮助吗?

© www.soinside.com 2019 - 2024. All rights reserved.