AngularJS + Laravel 5身份验证
问题描述:
在用angularJS构建我的SPA时,我来到了我想在我的angularJS网站中实现用户身份验证的地步。但是,我不知道从哪里开始以及最佳做法是什么。AngularJS + Laravel 5身份验证
基本上我有一个肯定可以有一个或多个角色。我查找了一些例子,所以我可以对如何正确处理这个问题有一个基本的了解,但到目前为止,我只是遇到了非常简单或不太安全的例子(如this)。
所以我的问题是,如何我使用REST(或自定义的API网址)来验证用户,然后显示使用angularJS页面上的用户信息,同时还通过确保最佳的安全性覆盖率(实现身份验证服务例如)来自Laravel的csrf标记?
由于提前, 尼克·范德Meij
答
我正在做一个AngularJS应用,并使用Laravel 5制成的后端的API基于REST,而我的验证方法是:
- 安装了jwt-auth。基本上扩展了Laravel的Auth模型,并添加了令牌授权。
- 添加简单的角色包到laravel。我用permiso。具有多个角色/用户和权限/角色。很简单。
- 将jStorage添加到前端。 (你可以使用AngularJS模块)。
因此,步骤是:
- 前端发送用户凭据(电子邮件和传递)。
- 服务器检查,jwt-auth为该用户创建一个令牌并将其发回。
- 前端将标记保存在浏览器存储中(此方法不需要csrf)。
- API的所有来电旁边用
Authorization: Bearer
头(或?token=...
)
答
我喜欢@neoroger需要使用JSON网络令牌智威汤逊-auth的同样的方法制成。我使用Satellizer软件包将令牌存储在前端,并将其随每个请求一起发送到API。
我放在一起一对夫妇的教程介绍如何实现这两个包,如果你有兴趣:
https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps
http://ryanchenkie.com/token-based-authentication-for-angularjs-and-laravel-apps/
我要实现相同的格式,但我已经执行了用户角色和Entrust软件包的权限。 @neoroger是否可以通过Entrust实现jwt-auth并且所有的用户和角色权限都在运行?任何帮助深表感谢? thnx提前。 – Tarunn 2015-06-01 14:11:14