0

我正在尝试借助客户端凭据流从另一个 API (API1) 调用 API (API2)。是否可以仅授予对 API2 某些部分的访问权限?

为了提供一些上下文,当从 API1 调用 API2 时,我目前正在使用一个服务帐户来决定允许访问 API2 的哪些部分。服务帐户在 API2 中创建和配置(使用角色),并提前与 API1 共享。

我正在尝试使用 oAuth 的客户端凭据流来实现这一点,但我找不到任何有关 API 内受限访问的信息。我相信 ApiScopes 在这种情况下不起作用。

您能否让我知道在客户端凭据流中是否可以进行受限 API 访问?或者这可以在任何其他流程中实现吗?

问候,湿婆

4

2 回答 2

1

或者,我们可以为 API2 定义一个新的应用程序角色。此角色将有权访问 API2 的选定部分。然后我们可以将此角色添加到您在客户端凭据流中使用的 Client_id。

于 2021-11-14T16:50:35.233 回答
1

是的,您可以使用 ASP.NET Core 中的内置授权系统根据接收到的访问令牌中的声明来控制访问。AddJwtBearer所做的是将您的访问令牌(一旦通过身份验证)转换为ClaimsPrincipalUser对象。

有关详细信息,请参阅这些链接:

于 2021-11-14T13:59:38.667 回答