【问题标题】:How to get Azure tenant name from graph.microsoft.com?如何从 graph.microsoft.com 获取 Azure 租户名称?
【发布时间】:2018-04-30 19:41:03
【问题描述】:

我需要发现用户的租户名称,因为服务端点 resourceId 我将使用需要我指定租户名称的 Azure 服务:

服务端点:https://[tenantnamme].api.crm.dynamics.com/...
资源ID:https://[tenantname].crm.dynamics.com

我希望 Unified Microsoft Graph API 可以为我发现这一点。我查看了文档,我能看到的最接近的是使用 graph.microsoft.com/v1.0/organization 这将给我回报: 验证域:[ …… “名称”:“contoso.onmicrosoft.com” ]

但是,我不确定这是否是正确的方法。如果一个组织有多个经过验证的域怎么办?验证域名是否与租户名称相同?

更新:这是我的真实情况。我有一个 Web 应用程序,允许用户通过 OAuth2 对 Azure AD 进行身份验证。我从 OAuth 交互中获取刷新令牌和访问令牌没有问题。但是,如果要使用其他服务,则需要在其服务端点中使用 [azure-ad-tenant-name]。这就是我的问题。

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api azure-ad-graph-api


    【解决方案1】:

    我相信您在 graph.microsoft.com/v1.0/organization 端点上走在正确的轨道上。您应该能够在 verifiedDomains 列表中找到租户名称。应包含带有租户名称的域的条目是初始域:

    {
        ...
        "isInitial": true,
        "name": "contoso.onmicrosoft.com",
        ...
    }
    

    【讨论】:

      【解决方案2】:

      一样。创建AD时,会得到一个域名和一个没有租户名的租户id,它们都是AD的唯一标识。使用 Get-AzureRmTenant 获取订阅中的所有租户 ID 和域。

      【讨论】:

      • 谢谢。但我不是在寻找 Powershell 解决方案。我正在寻找 REST 解决方案,我们将在开源解决方案上实施该解决方案
      • 如果您可以获得表明您的租户已创建的访问令牌,您只需要将您的租户 id 硬编码为 [azure-ad-tenant-name],因为每个访问令牌不超过一个租户 ID。
      • 好的。如果您需要使用 API 的租户名称(域名),请使用 Grapgh API:https://graph.windows.net/tenantid/domains?api-version=beta,希望对您有所帮助。
      • 还有一个 Nuget 包可以帮助你使用 Graph API,看看Microsoft.Azure.ActiveDirectory.GraphClient
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2022-09-27
      相关资源
      最近更新 更多