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

我的应用能否撤销不再需要的Microsoft OAuth令牌?

能否撤销Microsoft OAuth令牌?

当然可以!Microsoft OAuth 2.0完全支持撤销不再需要的令牌,刚好能解决你提到的安全清理冗余令牌、阻止未感知用户关闭操作的自动化流程这两个需求。下面是具体的实现方式和注意事项:

  • 使用官方令牌撤销端点
    Microsoft提供了标准的OAuth令牌撤销API,你需要调用这个端点来完成操作:
    通用端点地址为 https://login.microsoftonline.com/common/oauth2/v2.0/revoke,如果你的应用针对特定Azure AD租户,把路径里的common替换成对应的租户ID或域名即可。

  • 必备请求参数
    发起撤销请求时,需要携带以下核心参数:

    • token:你要撤销的目标令牌(支持访问令牌和刷新令牌,建议优先撤销刷新令牌,这样关联的所有访问令牌都会一并失效)
    • client_id:你的应用在Azure AD注册时获取的客户端ID
    • 若你的应用是机密客户端(比如后端服务、Web应用),还需要通过client_secret参数或者Authorization请求头提供客户端密钥,用来验证应用身份
  • 请求示例(curl)
    这里给一个简单的POST请求示例,方便你快速测试:

    curl -X POST https://login.microsoftonline.com/common/oauth2/v2.0/revoke \
      -d "token=YOUR_TARGET_TOKEN" \
      -d "client_id=YOUR_APP_CLIENT_ID" \
      -d "client_secret=YOUR_APP_CLIENT_SECRET"
    
  • 撤销后的效果
    调用成功后,目标令牌会立即失效,任何后续使用该令牌发起的API调用都会被Microsoft的身份服务拒绝。如果撤销的是刷新令牌,那么之前通过它生成的所有访问令牌也会同步失效,完美解决你提到的自动化流程未感知用户操作的问题。

  • 额外注意事项

    • 确保你能正常获取到要撤销的令牌(比如存在数据库或本地存储中)
    • 若是公共客户端(比如移动端APP、单页应用),无需提供客户端密钥,但要确保请求是从安全的环境发起
    • 撤销完成后,记得清理本地/服务器端存储的该令牌,避免后续误操作

内容的提问来源于stack exchange,提问作者Sam Livingston-Gray

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:32:07