Автентифікація

OAuth 2.0 для Microsoft 365: коли пароля застосунку не існує

З рештою провайдерів схема проста: увімкнув двофакторну автентифікацію, випустив пароль застосунку, переніс пошту. З Microsoft 365 так не вийде — там цих дверей більше немає.

Що саме вимкнули

Exchange Online перестав приймати по IMAP звичайну пару логін-пароль: це і є basic auth, застаріла автентифікація. Відмова приходить на етапі входу й має вигляд неправильного пароля.

Паролів застосунків, як у Google чи Apple, у Microsoft 365 загалом немає: політика безпеки за замовчуванням їх не видає.

Замість цього використовується OAuth 2.0 — механізм, у якому клієнт отримує токен доступу, а не пароль. По IMAP він передається розширенням XOAUTH2.

Так має вигляд відмова при спробі basic auth
a1 LOGIN "user@company.com" "********"
a1 NO LOGIN failed. Basic authentication is disabled for this tenant.

Як це працює на практиці

Користувач входить через звичайну сторінку Microsoft, підтверджує другий фактор і погоджується надати застосунку доступ до пошти. Застосунок отримує токен, обмежений за правами й за часом.

Для перенесення це краще за пароль одразу з двох причин: токен не можна використати для входу в акаунт, і він протухає сам.

Якщо ви не адміністратор

Це найчастіший глухий кут: пошта корпоративна, прав немає, а переїхати треба.

  1. Перевірте, чи ввімкнено IMAP для вашої скриньки взагалі.
  2. Попросіть адміністратора або надати згоду застосунку перенесення, або тимчасово дозволити застарілу автентифікацію для однієї скриньки.
  3. Якщо ні те, ні те неможливе — перенесення у зворотний бік зазвичай лишається доступним.
  4. Крайній варіант — експорт засобами самого Microsoft 365 і завантаження архіву на новий сервер по IMAP.

Чим це відрізняється від Outlook.com

Особисті скриньки Outlook.com і Hotmail — окрема історія від корпоративного Microsoft 365, хоча інтерфейс схожий.

Практичний висновок один: перед перенесенням із будь-якої адреси Microsoft варто спершу перевірити підключення, а не починати копіювання наосліп.

FAQ

Часті запитання

Чи можна випустити пароль застосунку в Microsoft 365?

У більшості тенантів ні: політика за замовчуванням їх не видає. Штатний шлях — OAuth.

Чи безпечніший токен за пароль?

Так: ним не можна ввійти в акаунт, його права обмежені поштою, і він спливає сам.

Що має зробити адміністратор тенанта?

Надати згоду застосунку на доступ до пошти по IMAP або тимчасово дозволити застарілу автентифікацію.

Сервер відповідає AUTHENTICATIONFAILED — це точно OAuth?

Не обов’язково. Той самий код приходить за вимкненого IMAP і за неправильного формату логіна.

Куди далі

Перенести пошту в MoveMailbox

Інші записи

Дізнайтеся обсяг своєї скриньки. Це нічого не коштує.

Підключіть два сервери, подивіться розмір і вирішуйте. Або заберіть клієнт і тримайте все в себе.

Код на GitHub · на базі imapsync · без реєстрації