首页 > 其他 > 详细

Laravel Sanctum SPA cookie&session 验证实践

时间:2021-08-04 11:13:39      阅读:20      评论:0      收藏:0      [点我收藏+]

参考文档

https://learnku.com/docs/laravel/8.x/sanctum/9421#spa-authentication

实践中遇到的问题

spa客户端死活不添加cookie分析

1.客户端使用的请求如:axios,没有启用跨域cookie

axios.defaults.withCredentials = true;

2.服务端没有将跨域配置好,需要确保

Access-Control-Allow-Credentials:true

3.服务器 config\sanctum 配置中的 stateful 没有配置。应该配置为客户端的所在域名

‘stateful‘ => [‘localhost:3000‘]

4.客户端使用的是IP的形式:如 127.0.0.1
经过我的测试以下写法无效(客户端:127.0.0.1:3000,服务端:127.0.0.1:8888)的情况

‘stateful‘ => [‘127.0.0.1:3000‘]

5.客户端的域名是:localhost:3000,而服务端的域名是:127.0.0.1:8888 域名不同无法设置 cookie。也就是客户端必须与服务端域名相同

总结

不要用Sanctum 的SPA cookie认证。麻烦的一批,域名不对就会炸,稍微配置偏差一点就炸。还是老老实实的用 API令牌认证模式

Laravel Sanctum SPA cookie&session 验证实践

原文:https://www.cnblogs.com/zjhblogs/p/15096520.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!