Sanctum如果在生成token的时候同时生成session该如何配置?

目前使用的后台是前后端分类,鉴权库用的Sanctum,登录接口生成token,前端保存token。
由于我在使用Horizon,想顺便借用后台的guard鉴权,但是Sanctum没有生成cookit,想问一下:如何配置Sanctum自动生成cookie

暂时不想重写登录接口,尽量不动代码的情况下,通过配置实现

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

你可以考虑加一个jwt,这个还不错,有黑名单。这个就可以做无态。 自己现在cms使用rcba+jwt,欢迎交流。

2周前 评论
勇敢的心 (楼主) 2周前
cighsen02 (作者) 2周前

horizon的頁面我目前的做法是通過在url上加一個密鑰參數 進行對比

緩存ip 一個小時 一個小時內不用加密鑰參數

2周前 评论
勇敢的心 (楼主) 2周前
nff93

Sanctum 但是生成 token 不也是你自己调用 createToken 吗,你在这个地方操作不就好了?

甚至你可以不需要后端生成 cookie ,你前端登录之后新建一个 cookie 保存 token 就行,然后添加一个中间件:

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CustomTokenMiddleware
{
    public function handle(Request $request, Closure $next)
    {
        // 优先级:Header > Query > Body > Cookie
        $token = $request->bearerToken() 
              ?? $request->query('token') 
              ?? $request->input('token') 
              ?? $request->cookie('token');

        if ($token) {
            // 将 Token 绑定到请求中供后续鉴权使用
            $request->headers->set('Authorization', 'Bearer ' . $token);
        }

        return $next($request);
    }
}
2周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!