You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OAuth 2.0登录的微软账户用户登出及刷新令牌失效方法咨询

解决微软账户Refresh Token失效问题

针对你的场景,有两种可靠方式让微软授权服务器失效refresh token,结合需求选择即可:

1. 撤销用户所有会话(批量失效令牌)

如果需要让该用户在所有设备、所有应用中的会话都失效,调用Microsoft Graph的revokeSignInSessions接口:

  • 请求类型:POST
  • 接口路径:https://graph.microsoft.com/v1.0/users/{user-id}/revokeSignInSessions
  • 权限要求:需提前申请User.ReadWrite.All或Directory.AccessAsUser.All权限(应用权限/委托权限都支持,根据你的应用架构选择)
  • 效果:该用户所有refresh token都会被标记为无效,所有关联的登录会话也会终止。

2. 单独撤销指定的Refresh Token

如果只想失效当前应用持有的这一个refresh token,用微软OAuth 2.0的令牌撤销端点:

  • 请求类型:POST
  • 端点地址:https://login.microsoftonline.com/common/oauth2/v2.0/revoke
  • 提交参数(表单格式):
    • client_id:你的应用注册ID
    • client_secret:仅机密客户端(比如Web应用)需要填写,公开客户端(比如移动端)无需提供
    • token:要失效的目标refresh token
    • token_type_hint:可选,填写refresh_token可帮助服务器更快识别令牌类型
  • 效果:仅指定的refresh token失效,不会影响用户其他会话或其他应用的令牌。

完整登出流程建议

  1. 先清除应用本地存储的access token、refresh token,终止应用内的用户会话
  2. 调用上述任一接口完成服务器端的令牌失效
  3. (可选)跳转到微软官方登出页面,让用户彻底退出微软账户的全局会话:https://login.microsoftonline.com/common/oauth2/v2.0/logout?client_id={你的应用ID}

内容的提问来源于stack exchange,提问作者NaineeL SoyantaR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 01:41:06