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

调用GetAccessTokenForUserAsync获取Graph API令牌时遇AADSTS50020错误

解决C#调用GetAccessTokenForUserAsync()时的AADSTS50020错误

错误信息

Error = invalid_grant,Error_description = "AADSTS50020: 来自身份提供商'https://sts.windows.net//'的用户账户'{EmailHidden}'不存在于租户'ABC'中,无法访问该租户内的应用''(xyz-app)。需先将该账户添加为租户外部用户,注销后使用其他Azure Active Directory用户账户重新登录。"

问题本质

当前使用的用户账户未被纳入目标租户ABC的用户体系,无法访问该租户下注册的应用xyz-app,导致获取Graph API令牌时触发invalid_grant错误。

解决方案

  • 将外部用户添加到目标租户
    1. 登录Azure门户,进入租户ABC的Azure Active Directory管理界面
    2. 依次进入「外部标识」>「所有外部用户」>「邀请用户」
    3. 填入报错中{EmailHidden}对应的实际邮箱地址,配置该用户对xyz-app的访问权限
    4. 发送邀请,待用户完成邀请接受流程后,即可使用该账号登录应用并获取令牌
  • 切换至租户内合法账号
    1. 注销当前应用的登录会话
    2. 使用属于租户ABC的Azure AD账号重新登录应用,再次调用GetAccessTokenForUserAsync()尝试获取令牌
  • 验证应用租户配置
    检查C#应用中配置的Azure AD租户ID是否为目标租户ABC的ID,避免因配置错误导致请求发送至错误租户

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:35:22