Angular前端和.net核心后端哪种身份验证方法好

时间:2021-06-17 05:10:28

标签: angular authentication oauth-2.0 jwt asp.net-core-webapi

我有一个 angular 10 应用程序(从 angular 4 升级),它作为前端运行,并具有作为后端项目运行的 .net core 3.1 web api(连接到 SQL 服务器数据库)。

现在我计划使用这两个应用程序实现登录和身份验证。但是对我应该遵循哪种技术感到困惑?已经阅读了很多技术,如 JWTOauth(请指出其他任何技术)或者我应该寻找像 OWIN 这样的技术?哪个在安全性和性能方面最好? 在数据库中散列密码的最佳方法是什么?

我知道主题和问题需要大量考虑,但只要提供指导就足以让我继续。

请帮帮我!

1 个答案:

答案 0 :(得分:1)

只是为了正确看待事情

  • Owin 是一种在 .NET Framework 中与您的 API 进行通信的方式,它有自己的方式来实现 OAuth2
  • OAuth2 是一种标准,告诉您如何进行身份验证/授权
  • JWT 是 OAuth2 用来进行身份验证(通过验证令牌)的工具

您需要将这些技术中的大部分结合到一个实现中。

通俗地说:

  • 成功登录后创建 JWT 令牌
  • 在令牌中,您有一个访问令牌和一个刷新令牌
  • 刷新令牌用于在访问令牌到期时重新创建访问令牌
  • 访问令牌用于验证您的身份

如果你想拥有一个身份验证服务器,因为你有一个很大的系统,我建议IdentityServer