我有一个 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/