.net core .net核心应用程序是否可以有一些具有客户端凭据流的API和其他具有开放ID连接的API

.net core .net核心应用程序是否可以有一些具有客户端凭据流的API和其他具有开放ID连接的API,.net-core,oauth-2.0,azure-active-directory,.net Core,Oauth 2.0,Azure Active Directory,目前.Net核心应用程序已配置OpenID Connect的API。它获取用户令牌并进行验证 现在需要为2个API实现客户端凭据流,剩下的API使用OpenID connect。这两个API由另一个后端系统触发。通过提供客户机id、secret和grant type=客户机凭据,后端系统能够调用这两个API。但问题是它还可以调用我不想要的其他API 正在寻找在.NETCore中实现这一点的方法。请告知如果您实施客户端凭据流,访问令牌将包括 如果实现OpenID连接流,则访问令牌将包括 为了控制客

目前.Net核心应用程序已配置OpenID Connect的API。它获取用户令牌并进行验证

现在需要为2个API实现客户端凭据流,剩下的API使用OpenID connect。这两个API由另一个后端系统触发。通过提供客户机id、secret和grant type=客户机凭据,后端系统能够调用这两个API。但问题是它还可以调用我不想要的其他API


正在寻找在.NETCore中实现这一点的方法。请告知

如果您实施客户端凭据流,访问令牌将包括

如果实现OpenID连接流,则访问令牌将包括

为了控制客户端应用程序可以访问的API,您需要验证权限


您可以通过如何和了解更多配置。

访问令牌只能用于一个资源/API。你为什么说它可以调用多个API。您能提供更多详细信息吗?我们的.Net应用程序有多个API端点。我们已使用客户端id和密码注册.Net应用程序的Azure应用程序。所以使用客户机id、secret、grant type=客户机凭据调用方可以使用令牌访问.Net应用程序中的所有API;然而,我们希望仅为2个API启用客户端凭据&rest应该仅通过OpenID。请让我知道,如果这澄清了您关于API的问题,您是指资源下的多个API端点吗?客户端凭据流用于应用程序权限(无用户),而OpenID连接协议用于委托权限(需要登录用户)。所以我认为这两种权限不会同时包含在访问令牌中。使用客户端凭据流时,访问令牌中将不包括用于OpenID Connect协议的委派权限。它应该不能调用需要委派权限的其他API端点。共享您在Azure AD app中配置的权限。委派的权限验证为
范围
:。应用程序权限验证为
应用程序角色
:。您需要验证权限。我认为这种方法更合适。