Laravel9 从web路由切换到api路由,并支持使用sanctum
之前都是使用web路由开发系统,但是现在的趋势都是前后端分离,使用web路由返回json也不是正常操作,而且性能也差,而且很多情况下,session/cookie的方式是不支持的,像小程序就必须用到token的方式认证,于是决定转到sanctum方式认证,以下是操作记录。
一.使用composer,进入laravel 的应用根目录,输入php artisan vendor:publish –provider=”Laravel\Sanctum\SanctumServiceProvider”,安装sanctum。
二.执行php artisan migrate –path=/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php
创建好personal_access_tokens的token记录认证表。
[PDOException]
SQLSTATE [42000]:语法错误或访问冲突:1071指定密钥太长; 最大密钥长度为1000字节
要解决此问题,您只需编辑 AppServiceProvider.php文件并在 boot方法内设置默认字符串长度:
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
在手动 删除之前创建的表,就正常了
————————————————
版权声明:本文为CSDN博主「cmj8043719242」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cmj8043719242/article/details/105380511/
三.修改web路由到api路由,修改Auth::guard(‘web’)->login的登陆方式,转为
并返回这个token,在axios的全局headers头添加token
四.修改获取当前登录用户的方式,从