首页 文章

Microsoft Graph Azure AD用户不同步

提问于
浏览
0

当我使用我的Microsoft帐户登录Microsoft Graph Explorer并运行以下查询https://graph.microsoft.com/v1.0/users/时,我收到了正确的用户 .

在Azure AD上(使用相同的登录名),我使用密钥创建了一个应用程序,当我使用带有资源https://graph.microsoft.com令牌的Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredentials通过c#登录并运行相同的查询时,我得到一个完全不同的用户 . 他们不同步,我很困惑 .

有任何想法吗?我是否应该创建一个新的Azure帐户,因为我从第1天开始就拥有Azure帐户,而我现在只是为了测试客户端请求 .

1 回答

  • 0

    不要创建新的Azure帐户 . 使用Graph Explorer时,是否使用Azure AD租户中的用户登录?如果没有,Graph Explorer将默认使用演示租户进行查询 .

    此外(如果您有多个租户),您需要确保选择正确的租户作为令牌获取的一部分(来自 https://login.microsoftonline.com/{tenantId | tenantDomain} . 如果您希望结果在图形资源管理器和您的应用之间匹配,则租户签名 - 在用户所属的(对于Graph Explorer案例),您的应用程序使用的租户需要相同 .

    UPDATE based on comment below:

    我想我知道这里发生了什么 . 在图表资源管理器中,您使用 personal account 登录 - 并且它根本不需要登录到Azure AD租户 . Microsoft Graph支持从个人和商业帐户进行访问 .

    此外,我猜你在注册Azure订阅时,使用了这个个人帐户 . 执行此操作时,它会创建Azure AD租户,并在该租户中创建 guest user (链接到)您的个人帐户 - 此帐户也配置为管理员帐户 . 此机制允许您使用个人帐户(由Microsoft帐户系统进行身份验证)登录Azure AD租户,因为个人帐户会映射到租户中的此来宾用户 . 在您的应用程序中,您将获得Azure AD租户的应用程序令牌 . 当您向租户查询用户时,您不应该看到它应该是您个人帐户的原始电子邮件地址的错误形式 . 这表示租户中的此Azure AD用户帐户是来宾/外部用户(类似于外部委托人) .

    希望这可以帮助,

相关问题