项目中使用到了laravel5的passport组件,进行前后端分离的 api认证部分
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搞起)
2)username不是users表的username字段,默认是users的email字段,当然你可以修改部分passport源码
3)users表的password必须是默认的hash::make 加密,不能是bcrypt加密,前台登录时候仅需提供123456类似密码即可,passport内部自动进行hash_check对比。
4)将步骤2中的 /api/oauth/token,修改为 /oauth/token