在ASP中分别进行前端和后端服务身份验证。 NET核心

时间:2019-06-12 12:45:10

标签: authentication asp.net-web-api asp.net-core

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

  • 一个实现常用REST API的Web API,我称之为 后端
  • 一个剃须刀页面网络应用程序,这是我的前端

(基本上遵循 杰弗里·弗里兹(Jeffrey T. Fritz)在他的8 hour demo中这样做是因为它看起来像是一个分离良好的体系结构 这意味着两者都在服务器端运行。我在前端添加了“个人用户”身份验证选项,从而使数据库成为存储用户数据的数据库,我可以根据那里的登录信息简单地授权页面。据我了解,此身份验证。选项基本上意味着前端在数据库中管理自己的用户集。

我所缺少的是使用相同的授权来保护该Web API,因此人们将无法匿名使用该API。那怎么办?如果要切换到基于Azure的身份验证,解决方案会有所不同吗?

我想象前端必须将一些与用户相关的数据附加到请求,然后后端才能以某种方式对其进行验证。 (但我无法想象,如果它真的不了解身份验证服务,也许必须是一个可供双方访问的单独实体?在那种情况下,我是否应该跳过现有内容并直接进入Azure?)

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

1 个答案:

答案 0 :(得分:1)

值得一看的是JWT令牌的安全性。这是保护Web应用程序安全的相当标准的,众所周知的模式/方法。这是带有示例的更“完整”的描述:https://garywoodfine.com/asp-net-core-2-2-jwt-authentication-tutorial/

您将能够在一处设置安全性,并使用它来验证两个应用程序