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

如何撤销Azure AD OAuth令牌以实现用户应用断开连接?

AAD 环境下 Dynamics 365 Business Central 令牌撤销实现方案

你找的/oauth2/deauthorize端点不属于Azure AD(AAD)的标准OAuth2.0接口体系,这是部分第三方身份服务商自定义的断开端点,AAD没有对应实现。要实现用户断开连接时的令牌失效,按以下分层操作即可覆盖所有场景:

  • 本地侧令牌清理(必做,即时生效)
    断开操作触发后,第一时间从你方的数据库、缓存存储中彻底删除当前用户关联的所有AAD访问令牌、刷新令牌记录,从你方业务侧直接杜绝令牌被误用的可能。

    注意:AAD签发的访问令牌是无状态JWT格式,默认有效期1小时,签发后到期前无法被远程强制作废,本地清理是阻断未到期访问令牌被滥用的最快手段。

  • 调用AAD标准接口吊销对应刷新令牌
    向AAD令牌吊销端点发送POST请求,作废你持有的刷新令牌,阻断后续续期新令牌的能力,请求格式如下:

    POST https://login.microsoftonline.com/{你的AAD租户ID}/oauth2/v2.0/token/revoke
    Content-Type: application/x-www-form-urlencoded
    

    请求体携带以下表单参数:

    client_id={你方应用在AAD注册的客户端ID}
    client_secret={你方应用对应的客户端密钥}
    token={需要作废的刷新令牌原值}
    

    接口调用成功后,该刷新令牌以及和它绑定的所有令牌链都会被标记为失效,等剩余有效时间的访问令牌到期后,这组授权凭证就完全无法使用。

  • (可选,高安全场景)彻底移除用户对应用的授权
    如果需要完全撤销用户之前给你方应用授予的所有委托权限,让用户下次发起连接时必须重新走授权同意流程,可以调用Microsoft Graph对应接口删除用户的授权记录:

    DELETE https://graph.microsoft.com/v1.0/users/{对应用户的AAD对象ID}/oauth2PermissionGrants/{对应授权记录的ID}
    Authorization: Bearer {具备权限删除授权的应用访问令牌}
    

    调用该接口需要你方应用提前在AAD中申请PermissionGrant.ReadWrite.All相关的Graph权限,适合对权限隔离要求严格的业务场景。

你之前尝试构造的请求头、请求参数格式和AAD标准接口要求不匹配,按上述格式调整即可实现断开连接时的令牌撤销能力。

内容的提问来源于stack exchange,提问作者Eugene Reyek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:27:16