angular - Angular 和 Laravel 身份验证 JWT?
问题描述
我对 REST 相当陌生,我正在开发一个使用 Angular 的 SPA,而后端是用 laravel 编码的。到目前为止,我在互联网上发现的唯一身份验证类型是通过 JWT,但我也读到它们有点不安全并且可能被盗。JWT 是在 SPA 中验证用户的唯一方法吗?还有什么其他更安全的方法?
谢谢!
解决方案
使用 Laravel Sanctum。
Laravel Sanctum 为 SPA(单页应用程序)、移动应用程序和简单的基于令牌的 API 提供了一个轻量级的身份验证系统。Sanctum 允许您的应用程序的每个用户为其帐户生成多个 API 令牌。这些令牌可以被授予指定允许令牌执行哪些操作的能力/范围。
而且 Laravel Sanctum 没有使用 jwt,Sanctum 也没有使用任何类型的令牌。相反,Sanctum 使用 Laravel 内置的基于 cookie 的会话身份验证服务。这提供了 CSRF 保护、会话身份验证以及防止身份验证凭据通过 XSS 泄漏的好处。只有当传入请求来自您自己的 SPA 前端时,Sanctum 才会尝试使用 cookie 进行身份验证。
推荐阅读
- c++ - 为什么我会遇到从 write->read->write 的读/写互斥锁死锁?
- c# - 当我尝试在项目中添加新的 PackageReference 时显示错误
- javascript - Repeat infinity an animation after loading the page in JavaScript
- sublimetext3 - 如何使用 SublimeLinter 解决此问题?
- c++ - 如何“组合”两个静态库?
- excel - Excel:专业税仅适用于重复姓名的最大值(关税)
- json - 无法为具有多个详细记录的 JSON 呈现 JasperReport
- tabulator - 制表符 - 独家标题过滤器 - 如何?
- docker - docker build 中的错误 - Err:1 http://deb.debian.org/debian stretch/main amd64 unzip amd64 6.0-21+deb9u1 404 Not Found
- python - 对 Pandas 数据框中列的每条记录应用相同的函数