Angular 和 Laravel 身份验证 JWT?

Posted

技术标签:

【中文标题】Angular 和 Laravel 身份验证 JWT?【英文标题】:Angular & Laravel AUTHENTICATION JWT? 【发布时间】:2020-07-23 20:27:23 【问题描述】:

我对 REST 相当陌生,我正在开发一个使用 Angular 的 SPA,而后端是用 laravel 编码的。 到目前为止,我在互联网上发现的唯一身份验证类型是通过 JWT,但我也读到它们有点不安全并且可能被盗。 JWT 是在 SPA 中验证用户的唯一方法吗?还有哪些其他更安全的方法?

谢谢!

【问题讨论】:

这能回答你的问题吗? Angular Auth against Laravel backend 【参考方案1】:

使用 Laravel Sanctum。

Laravel Sanctum 为 SPA(单页应用程序)、移动应用程序和简单的基于令牌的 API 提供了轻量级的身份验证系统。 Sanctum 允许您的应用程序的每个用户为其帐户生成多个 API 令牌。这些令牌可能被授予能力/范围,指定允许令牌执行哪些操作。

而且 Laravel Sanctum 没有使用 jwt,Sanctum 也没有使用任何类型的令牌。相反,Sanctum 使用 Laravel 内置的基于 cookie 的会话身份验证服务。这提供了 CSRF 保护、会话身份验证以及防止身份验证凭据通过 XSS 泄漏的好处。只有当传入请求来自您自己的 SPA 前端时,Sanctum 才会尝试使用 cookie 进行身份验证。

【讨论】:

以上是关于Angular 和 Laravel 身份验证 JWT?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 4 + Angular 身份验证路由

身份验证中的 Laravel Angular CORS 问题

使用 Satellizer 和 Laravel 的 AngularJS 身份验证服务

通过 laravel API 使用 firebase 令牌身份验证

Laravel sanctum 未经身份验证

Laravel 5.1/AngularJS:在 Angular 视图中重置密码(如何验证 CSRF 令牌?)