【问题标题】:Which authentication method is good with Angular front end and .net core backendAngular前端和.net核心后端哪种身份验证方法好
【发布时间】:2021-09-01 21:35:15
【问题描述】:

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

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

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

请帮帮我!

【问题讨论】:

  • 如果你使用的是.net Core 3.1,为什么不使用.net Core的认证呢?你应该有一个调用必要函数的“API”:这个函数大量使用RoleManagerUserManager - 你需要在“控制器”中注入

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


【解决方案1】:

只是为了正确看待事物

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

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

通俗地说:

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

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

【讨论】:

  • 如果我们使用 owin 那么还需要返回 JWT 令牌吗?这里还有哪些其他令牌类型套件?
  • 第一个问题是。代币类型的替代品?也许只有那些在安全方面过时的人
猜你喜欢
  • 2019-01-09
  • 2019-10-26
  • 2019-11-03
  • 2019-02-23
  • 2018-03-28
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多