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

是否有适用于个人账号的Microsoft Graph API可撤销应用权限?

个人账号下撤销应用权限的最优方案

针对你遇到的个人账号场景,无需申请User.ReadWrite.All这类高权限,就能实现撤销令牌、终止应用权限的需求,具体方案如下:

1. 撤销已持有的令牌(核心操作)

使用微软身份平台的令牌撤销端点,仅需应用的客户端ID和用户的刷新令牌即可调用,无需额外高权限。这个操作会直接作废该刷新令牌,同时关联的所有访问令牌也会失效,应用将无法再获取用户账号的访问权限。

调用示例:

POST /oauth2/v2.0/revoke HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=你的应用客户端ID&token_type_hint=refresh_token&token=用户的刷新令牌

2. 关于应用从用户账号移除

对于个人Microsoft账户,应用无法通过API直接将自身从用户的已授权应用列表中移除,这一步需要用户在微软账户的「授权应用」设置中手动操作。但通过上述令牌撤销操作,应用已完全失去对用户账号的访问能力,已经满足用户停止使用应用的核心诉求。

3. 为什么你之前研究的接口不适用

  • DELETE /oAuth2PermissionGrants/{id}:该接口仅适用于Azure AD租户环境,不支持个人Microsoft账户。
  • POST /me/invalidateAllRefreshTokens、POST /me/revokeSignInSessions:这两个接口需要用户授予User.ReadWrite.All等高权限,权限范围过大,仅为撤销令牌而申请完全没必要,会带来不必要的安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:42:49