OAuth2、Graph API和普通密码登录有什么区别
Почти все листинги аккаунтов Outlook/Hotmail помечены как OAuth2 — это не прихоть продавцов, а следствие того, что Microsoft прекратила поддержку Basic Authentication для пользовательских почтовых ящиков. Разбираемся, что такое OAuth2 и Graph API, как читать пометки в листингах и на какие поля доставки обращать внимание перед заказом.
Avery BennettПросматривая список аккаунтов Outlook/Hotmail, почти на каждом указано «OAuth2 [Graph]» или «OAuth2 [IMAP/POP3]», а в формате поставки встречаются незнакомые поля вроде «refresh_token» и «client_id» — это совсем не похоже на привычные «email:password». Это не прихоть продавца, а реальное изменение способа входа со стороны Microsoft.
Важное замечание: Условия использования большинства крупных платформ прямо запрещают куплю-продажу или передачу аккаунтов. Данная статья не означает, что Microsoft одобряет торговлю аккаунтами. Материал объясняет лишь технический смысл пометок протокола входа и не является рекомендацией по обходу механизмов безопасности платформы. Конкретная функциональность определяется описанием товара.
Обычный вход по паролю через Microsoft уже практически невозможен
Согласно официальному объявлению Microsoft, с 16 сентября 2024 года для личных почтовых аккаунтов Outlook.com, Hotmail и Live.com прекращена поддержка Basic Authentication — то есть способа, при котором сторонние почтовые клиенты или скрипты входят напрямую по «логин + пароль». Теперь для подключения сторонних инструментов к этим почтовым ящикам в основном требуется OAuth2 (Microsoft называет это Modern Authentication). Именно поэтому сейчас почти во всех объявлениях об Outlook/Hotmail указывается «OAuth2», а не просто «login:password».
Что такое OAuth2 и Graph API
| Термин | Что это | Что получает аккаунт |
|---|---|---|
| OAuth2 | Современный протокол аутентификации, при котором в процессе входа выдаётся временный токен доступа, а сам пароль напрямую стороннему инструменту не передаётся | access token (действует недолго) + refresh token (для получения нового access token) |
| Graph API | Официальный программный интерфейс от Microsoft: программа использует токен OAuth2 для вызова этого API и чтения/записи писем, календаря и других данных | Данные, возвращаемые через вызов API, а не сам пароль от аккаунта |
Это та же логика, что и у Gmail — у них тоже есть связка OAuth2 + Gmail API. Если вам ближе способ подключения со стороны Gmail, можете посмотреть статью Различия между веб-входом, IMAP и API-подключением Gmail — основные механизмы одинаковы, только здесь используется собственный Graph API от Microsoft.
Как читать пометки в объявлениях
- OAuth2 [Graph]: доступ только через программный интерфейс Graph API, традиционные способы приёма/отправки писем через IMAP/POP3 не поддерживаются.
- OAuth2 [IMAP/POP3]: по-прежнему можно получать и отправлять письма через почтовый клиент, но для входа используется токен OAuth2, а не сам пароль.
- OAuth2 [IMAP/POP3/GRAPH]: поддерживаются оба способа подключения в рамках одной системы токенов.
- «refresh_token», «client_id» в формате поставки: это обязательные учётные данные для входа через OAuth2, а не лишние символы из-за неисправности аккаунта — без любого из них программа не сможет получить новый токен доступа.
Как выбрать подходящий вариант для трёх типичных сценариев
- Изредка вручную заходите в почту: достаточно просто войти через веб-интерфейс, дополнительные понятия вроде OAuth2 вас не касаются.
- Используете почтовый клиент или скрипт для регулярного получения кодов подтверждения: выбирайте аккаунт с пометкой «OAuth2 [IMAP/POP3]» или поддерживающий оба варианта, а в клиенте настройте способ аутентификации как OAuth2.
- Нужно подключение к полноценному продукту или долгосрочные программные вызовы: выбирайте аккаунт с поддержкой Graph API, используйте токены и вызовы через API — так проще управлять разрешениями (scope).
Что проверить перед покупкой
- Какая именно комбинация OAuth2 указана в объявлении. Аккаунты, поддерживающие только Graph, нельзя подключить к обычному IMAP-клиенту — сверьтесь со своими задачами перед выбором.
- Полнота формата поставки. Обычный формат — это набор из четырёх элементов: email|пароль|refresh_token|client_id. Отсутствие любого из них может помешать получить новый токен в будущем — при получении товара проверьте, все ли поля на месте.
- Что делать, если refresh_token перестал работать. Заранее уточните, сможет ли продавец выдать новый токен или потребуется заново пройти процедуру авторизации для самого аккаунта — сложность этих действий разная.
Ограничения, которые нужно знать перед покупкой
- Токены OAuth2 могут перестать работать из-за смены пароля, проверок безопасности и других причин — после этого потребуется заново сгенерировать или авторизовать токен.
- Конкретный способ подключения для каждого аккаунта определяется описанием товара и может меняться вслед за политикой Microsoft.
- Пользователь обязан соблюдать условия использования Microsoft и местное законодательство.
Часто задаваемые вопросы
Сейчас вообще нельзя подключиться к Outlook/Hotmail по обычному паролю? Согласно публичной информации, Microsoft прекратила поддержку Basic Authentication для потребительских почтовых аккаунтов — сторонним клиентам и скриптам в основном требуется OAuth2. Актуальную ситуацию уточняйте по текущей поддержке Microsoft.
Может ли refresh_token истечь? Да. Если токеном долго не пользоваться или в аккаунте произошли изменения, связанные с безопасностью (например, смена пароля), refresh_token может стать недействительным. В таком случае обычно нужно заново пройти процедуру авторизации, чтобы получить новый токен.
Можно ли одновременно использовать IMAP/POP3 и Graph API для одного аккаунта? Если в объявлении указано, что поддерживаются оба способа — как правило, да. Каждый из них использует свой соответствующий токен, и они не мешают друг другу.
