【问题标题】:List all Azure Active Directories I'm either a member or guest user of列出我是其成员或来宾用户的所有 Azure Active Directory
【发布时间】:2018-04-04 14:17:36
【问题描述】:

我有一个案例,我需要列出我所属的所有 Azure Active Directory,以及我作为来宾用户受邀访问的所有 Azure Active Directory。我们的应用程序是多租户的,每个租户都有自己的 Azure Active Directory,可以邀请一个用户作为另一个租户访问应用程序,并且应该提供一个 UI 以在租户/目录之间切换,就像我们在 Azure 中所做的那样门户网站。

可以使用 Azure 资源管理器 API 查询第一部分,以列出我所属的租户 (https://docs.microsoft.com/en-us/rest/api/resources/tenants/list)。此 API 的响应不包括我仅作为访客用户被邀请的租户。

我是否可以使用访问令牌调用任何 API 来查询我可以来宾访问的所有 Azure Active Directory?

顺便说一句:通过在 ADAL 配置对象中显式设置租户并在 ADAL 服务上调用 login(),我可以无缝地使用 ng2-adal 库在我所属的目录之间切换。

更新: 我的问题的答案是,客人必须通过点击他们从 Azure Ad 收到的电子邮件中的链接来完成邀请过程。

【问题讨论】:

    标签: azure-active-directory


    【解决方案1】:

    是否有任何 API 可以使用访问令牌调用以进行查询 我拥有来宾访问权限的所有 Azure Active Directory?

    当然可以!

    对于您的情况,我还在我的实验室中使用与本地联合并成功的帐户进行测试。 所以,您的帐户似乎无法在第二个租户中使用。

    您可以use code grant flow with Azure REST API 或隐含流程来获取具有您帐户授权的访问令牌。

    我做了一个测试,成功了:

    希望这会有所帮助!

    【讨论】:

    • 感谢您的回答,但我们没有使用客户端凭据流。访问令牌由 adal.js / ng2-adal 库获取,该库使用隐式授权流(向 AAD 发送 response_type=token 和无 client_secret)。如果我使用作为多个 AAD 租户的成员的 Microsoft ID 登录我们的应用程序,API 会在响应中列出所有这些租户。我作为来宾邀请加入第二个 AAD 租户的用户是使用本地 ADFS 的联合身份。这可以解释为什么 API 中缺少来宾用户关系吗?
    • @JoarØyen 实际上,从隐式流中获取的访问令牌应该可以作为代码授权流使用。那么,是否可以在该 AAD 租户中找到该访客用户?我的意思是这个访客帐户是在云端还是仅在本地?
    • 我正在测试的用户是在本地联合的租户中的成员,并作为来宾用户在仅云的第二个租户中被邀请。 API 返回用户是实际成员的租户,而不是用户作为访客被邀请的租户。
    • 我还在我的实验室中使用与本地联合的帐户进行测试。我还可以列出还包含第二个租户的所有租户。您可以通过 Azure 门户或 powershell 使用该帐户切换到第二个目录吗?
    • 我无法使用联合身份登录 Azure 门户。只要您正在测试的身份是来宾用户而不是第二个目录中的成员,它就必须是我们这边的东西。我将与一位同事核对,以在他的开发环境中进行验证。
    猜你喜欢
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2014-07-17
    相关资源
    最近更新 更多