Authentication 在ASP中分离前端和后端服务身份验证。网芯

Authentication 在ASP中分离前端和后端服务身份验证。网芯,authentication,asp.net-web-api,asp.net-core,Authentication,Asp.net Web Api,Asp.net Core,我为我的web应用程序创建了两个独立的项目: 一个实现普通RESTAPI的Web API,我称之为 后端 一个razor pages web应用程序,它是我的前端 (基本上遵循了什么 杰弗里·T·弗里茨(Jeffrey T.Fritz)在他的作品中这样做是因为它看起来像是一个分离得很好的建筑) 这意味着它们都运行在服务器端。我已经将“个人用户”身份验证选项添加到我的前端,它创建了一个存储用户数据的数据库,我可以简单地根据那里的登录对页面进行授权。据我所知,这个作者。选项基本上意味着前端在其数

我为我的web应用程序创建了两个独立的项目:

  • 一个实现普通RESTAPI的Web API,我称之为 后端
  • 一个razor pages web应用程序,它是我的前端
(基本上遵循了什么 杰弗里·T·弗里茨(Jeffrey T.Fritz)在他的作品中这样做是因为它看起来像是一个分离得很好的建筑) 这意味着它们都运行在服务器端。我已经将“个人用户”身份验证选项添加到我的前端,它创建了一个存储用户数据的数据库,我可以简单地根据那里的登录对页面进行授权。据我所知,这个作者。选项基本上意味着前端在其数据库中管理自己的一组用户

我缺少的是用同样的授权保护Web API,这样人们就不能匿名使用该API。如何做到这一点?如果我想切换到基于Azure的身份验证,解决方案会有所不同吗

我设想前端必须将一些与用户相关的数据附加到请求中,然后后端将以某种方式验证这些数据。(但我无法想象,如果它真的不知道身份验证服务,那么它可能必须是一个独立的实体,两者都可以访问?在这种情况下,我应该跳过我拥有的,直接转到Azure吗?)


注意:我对安全性(以及整个Web应用程序)相当陌生。

也许值得一看JWT令牌的安全性。这是一种非常标准、众所周知的保护web应用程序的模式/方法。下面是一个更“完整”的描述和示例:


您可以在一个地方设置安全性,并使用它对两个应用程序进行身份验证

很抱歉反应太晚,我已经阅读了您的链接,并阅读了更多关于JWT的内容。看起来这是在Core中做的非常标准的事情,我可以将它用于AAD auth之类的东西。非常感谢。