【laravel5.5+Passport】laravel5的前后端分离之Passport设计

项目中使用到了laravel5的passport组件,进行前后端分离的 api认证部分:

前后端分离的api认证,我们用的是:

【密码授权令牌】,需要用户登录->指定client_id/client_secret->生成token+refresh_token->返回前端->在xml的header['Auth'] 添加token。

1、官方文档:https://learnku.com/docs/laravel/5.5/passport/1309#personal-access-tokens

2、社区推荐文章:https://learnku.com/articles/6976/laravel-55-uses-passport-to-implement-auth-authentication#reply118969 (推荐)

3、错误解决文章:https://cloud.tencent.com/developer/ask/199607

4、目的,实现前后端分离api的token认证。

5、其实我个人认为 api认证这块没有第三方没必要用passport,jwt或者自定义token都可以,因为passport主要用于oauth2,也就是三方交互,而单纯的前后端分离 只有两方。

6、按照步骤2来基本不会又问题,下面贴几个要点:

1)Guzzle\http的client只能是ajax/axios访问,你浏览器窗口访问是不行滴(postman搞起)

扫描二维码关注公众号,回复: 7991021 查看本文章

2)username不是users表的username字段,默认是users的email字段,当然你可以修改部分passport源码

3)users表的password必须是默认的hash::make 加密,不能是bcrypt加密,前台登录时候仅需提供123456类似密码即可,passport内部自动进行hash_check对比。

4)将步骤2中的 /api/oauth/token,修改为 /oauth/token 

猜你喜欢

转载自www.cnblogs.com/xuzhengzong/p/11939847.html