Sanctum 与 Next.js 的认证
Laravel 官方有一个 Example,laravel-auth-api 和 breeze-next,但是没有写如何操作,所以我大概比对了下,复刻到已有的项目,并把步骤记录起来。
路由
复制 routes/auth.php 到 web.php
session 表
.env 中,SESSION_DRIVER=file 改为 database
复制 database/migrations/2022_09_03_155542_create_sessions_table.php
执行迁移
认证方法
config/auth.php 中的 defaults guard 由 sanctum 改为 web
复制
- app/Http/Controllers/Auth 下的文件
- app/Http/Requests/Auth/LoginRequest.php
- app/Http/Kernel.php 中的 $routeMiddleware 添加
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
中间件
- 复制
- app/Http/Middleware/Auth 下的文件
- app/Http/Middleware/EnsureEmailIsVerified.php
- app/Http/Middleware/ValidateSignature.php
- app/Http/Kernel.php 中的
use Illuminate\Routing\Middleware\ValidateSignature;
use Illuminate\Auth\Middleware\EnsureEmailIsVerified;
# 改为
use App\Http\Middleware\EnsureEmailIsVerified;
use App\Http\Middleware\ValidateSignature;
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: