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

如何在Microsoft Identity平台编程撤销OAuth2访问权限

Microsoft Identity 平台 OAuth2 授权撤销实现方案

Microsoft Identity 平台提供与 Google OAuth2 撤销端点能力完全对等的官方能力,可同时满足撤销存量令牌、移除应用授权记录的两个核心要求,无需用户手动到门户操作。

能力匹配说明

调用对应接口后可实现和 Google 撤销接口完全一致的效果:

  • 当前用户下已签发的所有未过期 Access Token、Refresh Token 会立即进入失效流程,无法再用于调用 Graph API 访问邮件、日历、联系人等用户数据
  • 应用会自动从微软账户门户「隐私 -> 可访问你的数据的应用和服务」列表中移除,用户可直接在门户确认授权已被彻底清除,无残留授权记录

具体接入方式

核心使用 Graph API 提供的撤销会话接口实现全量授权清除,接入要求和调用规则如下:

  • 权限配置
    提前在 Azure 应用注册后台给应用配置对应权限:委托场景下需要User.RevokeSessions.All委托权限,服务端后台静默调用场景需要同名称的应用权限。
  • 调用规则
    • 请求方法:POST
    • 接口路径:用户自主操作场景使用/me/revokeSignInSessions,管理员操作指定用户场景使用/users/{用户的Object ID}/revokeSignInSessions
    • 请求头:携带标准 OAuth2 认证头 Authorization: Bearer {当前持有的有效访问令牌}
    • 请求体:无需传入任何额外参数
    • 成功判定:接口返回 204 No Content 状态码即代表操作提交成功
  • 注意事项
    • 受平台令牌缓存机制影响,令牌完全失效最长有15分钟的延迟,延迟窗口期内少量已缓存在网关的令牌可能仍能调用接口,15分钟后所有旧令牌会被100%拦截
    • 该接口同时支持Azure AD工作/学校账户、个人微软账户(MSA,即普通用户使用的outlook、hotmail等个人账户),覆盖所有面向普通消费者的应用授权场景
    • 建议将该接口调用逻辑放在后端服务侧实现,不要在前端直接暴露调用逻辑,避免令牌泄露被恶意触发授权撤销

如果仅需要让现有令牌失效、保留用户和应用的授权关系(比如强制用户重新登录验证身份),不需要调用上述接口,直接跳转平台的登出端点即可,不会清除用户的授权记录。

内容的提问来源于stack exchange,提问作者mohamed Arshad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 23:36:08