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

使用Microsoft Graph API时遇AADSTS700056错误:用户账户不在组织中

解决AADSTS700056: User account does not exist in organization错误

已确认用户属于租户ID 9d1d3c46-2270-4b75-9647-04a2e0f4995e 关联的目录,且已将该用户添加到客户端ID 9fbaff4b-0387-4695-ae25-2da4bbceed76 对应的注册应用中,但调用Microsoft Graph API时仍报错:

AuthenticationRequiredError: invalid_request: 700056 - [2023-12-10 22:03:29Z]: AADSTS700056: User account does not exist in organization.

使用的代码如下:

import {UsernamePasswordCredential} from '@azure/identity';
import {TokenCredentialAuthenticationProvider} from '@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials/index.js';
import { Client } from '@microsoft/microsoft-graph-client';

const credential = new UsernamePasswordCredential(
    '9d1d3c46-2270-4b75-9647-04a2e0f4995e',
    '9fbaff4b-0387-4695-ae25-2da4bbceed76',
    'casanovajordan123@gmail.com',
    '*******'
  );
  
// @microsoft/microsoft-graph-client/authProviders/azureTokenCredentials
const authProvider = new TokenCredentialAuthenticationProvider(credential, {
    scopes: ['User.Read'],
});
  
const graphClient = Client.initWithMiddleware({ authProvider: authProvider });

const calendar = {
    name: 'test'
};

await graphClient.api('/me/calendars').post(calendar);

排查与解决步骤

  • 检查用户账户类型
    你使用的个人邮箱(casanovajordan123@gmail.com)属于租户的来宾账户,UsernamePasswordCredential 对来宾账户支持有限。登录Azure AD后台,确认该用户的账户类型是否为「成员」,若为「来宾」,需调整认证方式或转换账户类型。

  • 确认应用注册的账户访问范围
    进入Azure门户的应用注册页面,找到目标应用(客户端ID 9fbaff4b-0387-4695-ae25-2da4bbceed76),检查「支持的账户类型」:

    • 若设置为「仅限此组织目录中的用户」,来宾用户无法通过该应用认证;
    • 需修改为「任何组织目录中的用户(包括外部来宾)」,确保来宾用户能被识别。
  • 验证用户MFA状态
    UsernamePasswordCredential 不支持启用多因素认证(MFA)的用户,若该用户开启了MFA,会直接触发类似报错。需关闭该用户的MFA,或改用支持MFA的认证方式(如DeviceCodeCredential)。

  • 使用完整用户主体名称(UPN)
    来宾用户的UPN通常带有租户后缀(例如casanovajordan123_gmail.com#EXT#@yourtenant.onmicrosoft.com),尝试将这个完整的UPN替代邮箱地址传入UsernamePasswordCredential。

  • 更换更可靠的认证方式
    UsernamePasswordCredential 属于ROPC流,微软不推荐用于生产环境,限制较多。建议替换为:

    • 桌面/控制台应用:使用DeviceCodeCredential,引导用户通过浏览器完成认证;
    • 服务端应用:使用ClientSecretCredential(客户端凭证流),需配置应用权限而非委托权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:45:09