首页 > 解决方案 > Laravel API Session 数据从不同的客户端返回不同的值

问题描述

我正在使用 Laravel API 设置并尝试从 Laravel 应用程序中检索会话值。为了使我能够使用 API 设置和检索会话数据,我已将类App\Http\Middleware\EncryptCookies::class和文件添加\Illuminate\Session\Middleware\StartSession::classapp\Kernel.php文件中。当我尝试使用 HTTP 客户端 Postman 设置和获取会话数据时工作正常。但是,如果我尝试使用另一个 HTTP 客户端 Insomnia 甚至使用 Laravel Tinker 检索相同的会话数据,它会返回 null。这是包含设置和获取会话数据的方法的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function getSession(Request $request) {

        $value = $request->session()->get('info');
        return response()
            ->json([
                'done' => $value
            ]);

    }

    public function setSession(Request $request) {

        $value = $request->session()->put('info', 'hello from larasession');
        return response()
            ->json([
                'done' => 'session set'
            ]);
    }
}

我该如何解决这个问题?谢谢

标签: phplaravelapisessionsession-variables

解决方案


推荐阅读