Microsoft Intra ID 中 SPA 和 API 设置的角色

问题描述 投票:0回答:1

我已经使用 FastAPI-Azure-Auth 设置了 FastAPI。它是一个API和一个用于测试API的Swagger页面(SPA)。我有一个 API 的应用程序注册和一个 Swagger 页面的应用程序注册。在 API 应用程序注册中,我为我的用户添加了一个名为“Role7”的角色。

在 swagger 页面应用程序注册表中,我向我的用户添加了“Role1”。

Swagger页面APP注册:

我向 API 应用程序注册表添加了权限。 enter image description here

问题是在我在 Swagger 页面中得到的声明中,我得到了来自 API 应用程序注册表的“Role7”。我希望获得我在 Swagger 页面应用程序注册表中设置的角色。如何设置 appreg,使其成为网页而不是控制访问和角色的 API?

azure-active-directory fastapi
1个回答
0
投票

API 必须决定令牌可以包含哪些角色。毕竟是授权代币的人。

所以你有两个选择(至少):

  1. 注册一个应用程序而不是两个,Swagger UI 只是 API 的一部分。现在角色管理是在这个应用程序注册上进行的。
  2. 保持两个应用程序注册。必须在 API 上分配角色才能在那里应用。客户端可以通过 API 检查用户拥有哪些角色。

如果您拥有 P1/P2 许可证,您可以通过在两个应用程序注册上将一个组分配给相同的角色来使选项 2 更容易。然后您就可以在一个地方编辑该角色的成员。

© www.soinside.com 2019 - 2024. All rights reserved.