angular - Angular 前端和 .net core 后端哪种身份验证方法更好

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

我有一个 Angular 10 应用程序(从 Angular 4 升级),它作为前端运行,并具有 .NET Core 3.1 Web API(连接到 SQL Server 数据库),它作为后端项目运行。

现在我计划使用这两个应用程序来实现登录和身份验证。但对我应该遵循哪种技术感到困惑?读过很多技术,比如JWT , Oauth (请指出其他人也在那里)或者我应该寻找类似 OWIN 的东西?就安全性和性能而言哪个最好? 在数据库中对密码进行哈希处理的最佳方法是什么?

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

请帮助我!

最佳答案

只是为了正确看待事情

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

您需要将大多数这些技术组合到一个实现中。

通俗地说:

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

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

关于angular - Angular 前端和 .net core 后端哪种身份验证方法更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68013276/

相关文章:

javascript - (angular2-highcharts) 静态解析符号值时遇到错误中的错误

javascript - @Injectable 服务中的 HTTP 提供程序

ruby-on-rails - 为什么使用分析 url 而不是 youtube url 时 Google OAuth2 身份验证失败?

php - 如何授权 cron 作业 php 文件访问 Xero?

python - 在 Python 中使用 Apps Script Execution API 时出现 404 错误

angular - 如何正确配置 nginx 以与 NG Serve 和 Angular CLI 一起使用?

angular - includedByState & includes 过滤器不适用于 ngClass

php - 从 JavaScript 客户端对 REST API 的授权和身份验证

如果在密码重置期间未注册电子邮件,则出现 Laravel 错误消息(从 5.6 升级到 5.7)

javascript - Meteor 帐户 - 记住我选项