Тайм-аут сервера при запросе правительственного токена аутентификации Office 365 с использованием ADAL
При использовании библиотеки 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 для обработки запросов токенов. Мы думали, что это могло быть проблемой. Без изменений. Я также сделал несколько вариантов полномочий и ресурсов, используемых в запросе. Без изменений. Я даже подключился к 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 Code=-1001 "Время ожидания истекло." UserInfo={NSUnderlyingError=0x600002fa5380 {Ошибка домена =kCFErrorDomainCFNetwork Code=-1001 "Время ожидания истекло". UserInfo = {NSErrorFailingURLStringKey = https://federation.us.af.mil/adfs/ls/?login_hint={УДАЛЕНО}.af.mil&client-request-id={УДАЛЕНО}&username={УДАЛЕНО}.af.mil & wa = wsignin1 0,0 & wtrealm = {ОТРЕДАКТИРОВАНО}
Пользователь испытывает всплывающее окно с пустым экраном. Обычно в окне отображается текст, запрашивающий разрешение на использование приложения. Тайм-аут сообщения появляется примерно через 60 секунд.
0 ответов
Извиняюсь за задержку ответа на это. Вместо outlook.office365.us вы должны использовать ресурс portal.apps.mil или outlook-dod.office365.us.
Это помогает?