Задать вопрос
@DeadAurora2

Exchange 2019 CU14 on-prem + AD FS (без Azure AD) — удаcтся ли настроить ModernAuth для внешних почтовых агентов на андроид?

Добрый день

Exchange Server 2019 CU14, один сервер (MX01), чистый on-premises
AD FS зарегистрирован как AuthServer (Type: ADFS), без Azure AD/гибридного tenant
AuthServer настроен корректно: AuthorizationEndpoint, TokenIssuingEndpoint заполнены, IsDefaultAuthorizationEndpoint: True, DomainName указывает на почтовый домен. Realm/ServiceName настроен.

Нативный клиент iOS Mail (аккаунт добавлен вручную, без MDM-профиля) корректно перенаправляет на страницу логина AD FS при первой настройке — полный Modern Auth flow работает.
Сторонний EAS-клиент (Nine от NitroDesk, Android) никогда не получает OAuth challenge — падает в Basic-аутентификацию.
ActiveSyncVirtualDirectory в этой сборке вообще нет параметра -OAuthAuthentication (в отличие от EWS/OAB)

По логам при обращении с приложения Nine ловил в логи Exchange, вот такое:
HttpProxy/Eas:
S:ServiceCommonMetadata.OAuthError=Flighting is not enabled for domain 'webmail.<домен>'.
S:ServiceCommonMetadata.OAuthErrorCategory=OAuthNotAvailable

Вопросы:
1) Что именно контролирует "Flighting" для EAS OAuth в чистом on-prem сценарии Exchange 2019 CU14 + AD FS (без Azure AD)? Есть ли документированный, поддерживаемый способ его включить (New-FlightOverride? что-то другое)?

2) Поддерживается ли вообще EAS Modern Auth для произвольного/generic OAuth-клиента (не Apple, не Outlook) в этом сценарии, или это фактически allowlist, ограниченный конкретными client_id (Apple Native Mail / Outlook)?

3)Как нативная почта iOS перенаправляется на AD FS, ни разу не получив authorization_uri в 401-challenge EAS/Autodiscover — существует ли недокументированный путь обнаружения (например, зашитый под конкретный зарегистрированный client_id)?
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • AndroidSprint
    Android + Аутстаффинг: опыт работы в IT-команде
    8 месяцев
    Далее
  • Нетология
    Android-разработчик
    14 месяцев
    Далее
  • Академия Эдюсон
    Android-разработчик + ИИ
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
EAS-путь тут не HMA-флайтинг, а отдельная CU13-фича: ADFS как STS без Azure AD вообще. Официально в EAS заведён только client, зарегистрированный в ADFS как native-приложение со scope EAS.AccessAsUser.All — доки Microsoft создают такое под Apple Mail (f8d98a96-0999-43f5-8af3-69971c7bb423, тот же AppId что у Apple в Entra). Свой client_id зарегать в ADFS можно, но хендшейк под него должно уметь само приложение, это вопрос к NitroDesk, не к New-FlightOverride. А "Flighting is not enabled" я бы не считал доказанным без трейса: сравни сырой 401 для Apple и для Nine на одинаковый пустой Bearer-запрос к /Microsoft-Server-ActiveSync.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы