我有一个 ASP.NET Core Web 应用程序,其中前端内置 react,而后端则有 Web API,两者都放在一个 Web 项目中。 对于身份验证,我使用了 Azure AD 开放 ID 连接身份验证方案。
现在我有一个需求,我需要使用客户端凭据流向外部系统公开一些 API。所以我不确定如何在当前的 Web 应用程序中实现这一点,因为它已经具有开放 id 连接身份验证方案。
有什么想法吗? 非常感谢
答案 0 :(得分:0)
您需要在 Azure 门户中创建两个应用程序。目前,您已经有了一个 ASP.NET Core Web 应用程序,它代表了前端应用程序,因此您需要创建另一个代表 Web API 的应用程序,即 后端-结束申请。
首先需要暴露Azure保护的后端应用的api,可以按照如下流程进行配置:
Azure 门户>应用注册>公开 API>添加范围>添加客户端应用
然后您需要创建后端应用程序的appRole,然后将该角色作为应用程序权限授予客户端应用程序。
接下来,转到客户端应用程序>API 权限>添加权限>我的 API>您的 API 应用程序。
最后,您需要在没有用户登录的情况下使用 client credential flow 获取访问令牌:
解析token:
最后,您可以将令牌传递给 api 应用程序,api 应用程序将通过解析令牌来对客户端应用程序进行身份验证。