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

Microsoft Entra多租户API:能否自行撤销O365租户授权权限?

Microsoft Entra多租户API权限撤销方案

核心结论

你完全可以自行撤销客户O365租户中授予你的应用的权限,不需要客户手动操作,刚好能帮客户减少管理负担。

具体操作方法

你当前使用的是client_credentials模式获取应用级权限,对应撤销操作可通过Microsoft Graph API完成:

  1. 先确认你的应用在客户租户中已获得Application.ReadWrite.OwnedBy或Directory.AccessAsUser.All权限(需提前在应用注册中配置,并通过OAuth流程获得客户授权)。
  2. 查询目标权限的分配ID:
    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=appId eq 'MY_CLIENT_ID'&$expand=appRoleAssignments
    
    从返回结果中提取对应权限的appRoleAssignmentId。
  3. 执行删除请求完成权限撤销:
    DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{你的应用服务主体ID}/appRoleAssignments/{appRoleAssignmentId}
    

如果是OAuth重定向流程中用户授予的委派权限,撤销方式如下:

  1. 查询权限授予ID:
    GET https://graph.microsoft.com/v1.0/oauth2PermissionGrants?$filter=clientId eq 'MY_CLIENT_ID'
    
  2. 执行删除请求:
    DELETE https://graph.microsoft.com/v1.0/oauth2PermissionGrants/{permissionGrantId}
    

关键注意点

  • 权限撤销后,后续无法再获取对应权限的新令牌,但已发出的未过期access_token仍会保持有效(这和你了解的一致,无法主动撤销未过期的access_token)。
  • 必须确保你的应用拥有足够权限执行删除操作,否则会返回权限不足的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 10:57:17