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

使用Microsoft Graph API删除Microsoft Authenticator认证方法遇403错误

解决Microsoft Graph API删除认证方法返回403 Forbidden的问题

常见原因及解决方案

1. 权限配置错误

删除其他用户的Microsoft Authenticator认证方法,必须使用应用权限UserAuthenticationMethod.ReadWrite.All,且需要管理员同意:

  • 确认你的应用注册中已添加该权限(而非仅委派权限UserAuthenticationMethod.ReadWrite,后者仅允许删除当前登录用户自己的认证方法)。
  • 在Azure AD应用注册的「API权限」页面,点击「授予管理员同意」,确保权限已生效。

2. 访问令牌权限不足

解析你的accessToken(使用JWT解析工具),检查roles声明中是否包含UserAuthenticationMethod.ReadWrite.All:

  • 如果使用的是委派权限(用户登录模式),即使添加了权限也无法删除其他用户的认证方法,必须切换为应用权限模式(客户端凭证流获取令牌)。

3. 尝试删除用户唯一的MFA方法

Azure AD不允许删除用户的最后一个MFA认证方法,否则会导致用户无法完成MFA验证。先调用以下接口确认用户存在其他MFA方法:

async checkUserAuthMethods(email, accessToken) {
  const query = `/users/${email}/authentication/methods`;
  const response = await azure.graph.get(query, {
    headers: { 'Authorization': 'Bearer ' + accessToken }
  });
  return response.data;
}

若返回结果中只有一个Microsoft Authenticator方法,需先为用户添加其他MFA方法(如短信、硬件令牌)后再删除。

4. 管理员角色限制

即使应用有UserAuthenticationMethod.ReadWrite.All权限,获取令牌的服务主体(应用)对应的管理员角色也需要具备管理用户认证方法的权限,比如身份验证管理员、全局管理员等。

代码验证

你的现有代码路径是正确的,确认权限和令牌没问题后,可再次测试。如果仍然报错,建议开启Graph API的调试日志,查看更详细的错误信息(比如响应的WWW-Authenticate头或errorDetails字段)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:23:28