OAuth2、Graph API和普通密码登录有什么区别
Outlook/Hotmail账号listing几乎都标着OAuth2,不是卖家自己加的花样——微软已经停止对消费者邮箱的Basic Authentication支持。讲清楚OAuth2和Graph API分别是什么、listing标注怎么读,以及下单前该确认的交付字段。
Avery Bennett翻Outlook/Hotmail账号列表,几乎每条都标着"OAuth2 [Graph]"或者"OAuth2 [IMAP/POP3]",交付格式里还带着"refresh_token"、"client_id"这些没见过的字段,跟以前简单的"邮箱:密码"完全不是一回事。这不是某个卖家自己加的花样,是微软那边的登录方式真的变了。
重要说明:多数主流平台的服务条款明确禁止买卖或转让账号,本文不代表Microsoft认可账号交易。本文仅解释登录协议标注的技术含义,不构成规避平台安全机制的建议,具体功能范围以商品页描述为准。
普通密码直连,微软那边已经基本走不通了
据微软官方公告,从2024年9月16日起,Outlook.com、Hotmail、Live.com这类个人邮箱账号已经停止支持Basic Authentication——也就是第三方邮件客户端或脚本单纯拿"账号+密码"直接登录的方式。现在第三方工具要接入这些邮箱,基本都要走OAuth2(微软称为Modern Authentication)。这也是为什么现在几乎所有Outlook/Hotmail的listing都会标"OAuth2",而不是单纯写"login:password"。
OAuth2和Graph API分别是什么
| 名词 | 是什么 | 账号拿到的是什么 |
|---|---|---|
| OAuth2 | 现代身份验证协议,登录流程里换取的是一个有时效的访问令牌,密码本身不会直接交给第三方工具 | access token(短期有效)+ refresh token(用来换新的access token) |
| Graph API | 微软官方提供的编程接口,程序拿着OAuth2令牌调用这个接口读写邮件、日历等数据 | 调用接口返回的数据,不是账号密码本身 |
这跟Gmail那边的逻辑是同一个思路——Gmail也有类似的OAuth2+Gmail API组合,如果你对Gmail那侧的接入方式更熟悉,可以对照Gmail的网页登录、IMAP、API接入区别这篇,两边的核心机制是相通的,只是这里换成了微软自己的Graph API。
listing里的标注该怎么读
- 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支持的账号,走令牌+接口调用,权限范围(scope)也更容易单独管理。
下单前该确认什么
- listing具体标的是哪种OAuth2组合。只支持Graph的账号,不能拿来接普通IMAP邮件客户端,选之前对照自己的用途。
- 交付格式是否完整。常见格式是邮箱|密码|refresh_token|client_id四件套,缺任何一项都可能导致后续换取新令牌失败,收到货先核对字段是否齐全。
- refresh_token失效后怎么处理。提前问清楚是卖家能补发新的令牌,还是需要账号本身重新走一次授权流程,两者操作难度不一样。
购买前需要了解的限制
- OAuth2令牌可能因为账号密码变更、安全检查等原因失效,失效后需要重新生成或授权。
- 具体某个账号支持哪种接入方式,以商品页描述为准,且可能随微软政策调整而变化。
- 用户须遵守Microsoft服务条款和当地法律。
常见问题
普通密码现在完全连不上Outlook/Hotmail了吗?据公开信息,微软已经停止对消费者邮箱账号的Basic Authentication支持,第三方客户端和脚本基本都需要OAuth2才能连接,具体以微软当前的实际支持情况为准。
refresh_token会不会过期?会,如果长期不用或者账号发生安全相关的变更(比如改密码),refresh_token可能失效,失效后通常需要重新走一次授权流程才能拿到新的令牌。
同一个账号能不能同时用IMAP/POP3和Graph API?如果listing标注两者都支持,通常可以,两种方式各自用对应的令牌调用方式,互不冲突。
