【问题标题】:Separate front-end and back-end service authentication in ASP. NET Core在 ASP 中分离前端和后端服务身份验证。网络核心
【发布时间】:2019-10-26 23:44:29
【问题描述】:

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

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

(基本上遵循了什么 Jeffrey T. Fritz 在他的8 hour demo 中做了,因为它看起来像是一个分离良好的架构) 这意味着两者都在服务器端运行。我已经在我的前端添加了“个人用户”身份验证选项,它创建了一个存储用户数据的数据库,我可以简单地根据那里的登录来授权页面。据我了解,此身份验证。选项基本上意味着前端在它的数据库中管理它自己的一组用户。

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

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

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

【问题讨论】:

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


    【解决方案1】:

    为了安全起见,可能值得一看 JWT 令牌。它是一种非常标准的、众所周知的用于保护 Web 应用程序的模式/方法。这是一个更“完整”的示例描述:https://garywoodfine.com/asp-net-core-2-2-jwt-authentication-tutorial/

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

    【讨论】:

    • 很抱歉反应迟了,我已经阅读了您的链接,并且阅读了更多关于 JWT 的内容。似乎在 Core 中执行此操作非常标准,我将能够将其用于 AAD auth 等。谢谢!
    猜你喜欢
    • 2021-09-01
    • 2011-11-04
    • 2019-03-21
    • 1970-01-01
    • 2021-09-14
    • 2019-01-20
    • 1970-01-01
    • 2017-07-08
    • 2020-07-10
    相关资源
    最近更新 更多