我可以在一个应用程序中使用 openid connect 身份验证和 jwtbearer 身份验证方案吗?

时间:2021-03-04 06:32:17

标签: asp.net-core oauth-2.0 azure-active-directory

我有一个 ASP.NET Core Web 应用程序,其中前端内置 react,而后端则有 Web API,两者都放在一个 Web 项目中。 对于身份验证,我使用了 Azure AD 开放 ID 连接身份验证方案。

现在我有一个需求,我需要使用客户端凭据流向外部系统公开一些 API。所以我不确定如何在当前的 Web 应用程序中实现这一点,因为它已经具有开放 id 连接身份验证方案。

有什么想法吗? 非常感谢

1 个答案:

答案 0 :(得分:0)

您需要在 Azure 门户中创建两个应用程序。目前,您已经有了一个 ASP.NET Core Web 应用程序,它代表了前端应用程序,因此您需要创建另一个代表 Web API 的应用程序,即 后端-结束申请。

首先需要暴露Azure保护的后端应用的api,可以按照如下流程进行配置:

Azure 门户>应用注册>公开 API>添加范围>添加客户端应用

enter image description here

然后您需要创建后端应用程序的appRole,然后将该角色作为应用程序权限授予客户端应用程序。

enter image description here

接下来,转到客户端应用程序>API 权限>添加权限>我的 API>您的 API 应用程序。

enter image description here

最后,您需要在没有用户登录的情况下使用 client credential flow 获取访问令牌:

enter image description here

解析token:

enter image description here

最后,您可以将令牌传递给 api 应用程序,api 应用程序将通过解析令牌来对客户端应用程序进行身份验证。

Similar samples