Тайм-аут сервера при запросе правительственного токена аутентификации Office 365 с использованием ADAL - PullRequest
0 голосов
/ 22 декабря 2018

При использовании библиотеки 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={REDACTED}.af.mil&client-request-id={REDACTED}&username={REDACTED}.af.mil&wa=wsignin1.0&wtrealm={REDACTED}"

Имеет ли правительственный сервер правильную конфигурацию ADFS? Если да, то какое будет вероятное решение?

Правильно ли настроен наш клиент? Нужен ли публичный арендатор для доступа к общедоступному приложению?и государственный арендатор для государственных клиентов? Или они могут быть взаимозаменяемыми?

Мы настроили публичное и государственное приложение AAD для обработки запросов токенов. Мы подумали, что это могло быть проблемой. Без изменений. Я также сделал несколькоРазличия в полномочиях и ресурсах, используемых в запросе. Без изменений. Я даже подключился к ADAL и использую наш протокол 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 {Код ошибки = код_счета_системы_данных_строк ".100")UserInfo = {NSErrorFailingURLStringKey = https://federation.us.af.mil/adfs/ls/?login_hint={REDACTED}.af.mil&client-request-id={REDACTED}&username={REDACTED}.af.mil&wa=wsignin1.0&wtrealm={REDACTED}

У пользователя появляется всплывающее окно с пустым экраном.Обычно в окне отображается текст, запрашивающий разрешение на использование приложения.Время ожидания истекает примерно через 60 секунд.

1 Ответ

0 голосов
/ 12 марта 2019

извиняюсь за задержку ответа по этому вопросу.Вместо outlook.office365.us вам следует использовать ресурс portal.apps.mil или outlook-dod.office365.us.

Помогает ли это?

...