gpt4 book ai didi

azure - 查询来自不同azure租户的用户

转载 作者:行者123 更新时间:2023-12-03 01:03:36 25 4
gpt4 key购买 nike

我们有一个案例,我们有“客户”。每个客户端都是不同的 Azure 租户,但我们将他们的租户 ID 保存在数据库中。因此,我们有 Angular 应用程序,我们希望有一个包含所有客户端的下拉菜单,并根据所选客户端来查询其租户用户,以便我们可以将其添加到我们的数据库中,并向他们授予所有其他应用程序的权限和内容。根据我的阅读,这是不可能实现的, enter image description here

因为此权限申请将仅由我们租户中的 3-4 个人使用。

我们有办法实现这一目标吗?

最佳答案

您需要使用User.Read.All Application permissions并使用 Client Credentials 进行身份验证授予。然后,您需要在调用 /v1.0/users 之前从每个租户检索 token 。

请注意,这需要获得您需要查询的每个租户的管理员同意。

<小时/>

Rohit 下面的评论是一个很好的观点。如果您的应用程序是 SPA,这意味着授权完全通过 Javascript 在浏览器中进行,那么您实际上仅限于 OAuth 的 Implicit Grant

使用 Client CredentialsAuthorization Code授予,您需要某种后端 API 来处理身份验证和对经过身份验证的 API 的调用。我认为无论如何你都应该这样做,如果没有其他原因,除了强制你的用户每小时重新进行身份验证并不是一个很好的用户体验。

如果您不介意要求租户中的每个用户进行身份验证,则可以使用授权代码授予。这是一个有点复杂的设置,因为它要求您跟踪每个用户的单独刷新 token 。您的后端需要检索刷新 token ,将其交换为一组新 token (access_tokenrefresh_token),存储新的刷新 token ,然后使用以下命令调用 API新的访问 token 。

由于 token 和用户之间存在 1:1 的关系,因此从规模上看,您会看到很多 token 。您还需要大量维护工作流程来处理可能出现的问题(刷新 token 失败、新范围要求等)。

这实际上取决于您的应用程序和租户之间关系的深度。如果您要为整个组织提供安全性和分析,那么要求全局 Mail.Read 当然是合理的。如果您仅向组织的一部分提供服务,则可能很难让 IT 部门批准如此广泛的权限范围。

关于azure - 查询来自不同azure租户的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55280839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com