0
我面临的问题是Laravel未加密我在中间件中设置的Cookie。由于这个原因,当我尝试在另一个控制器中检索cookie值时,它的值将变为空白。以下是我的中间件代码Laravel不加密Cookies
public function handle($request, Closure $next)
{
if($request->hasCookie('uuid'))
{
return $next($request);
}
else
{
$uuid = Uuid::generate();
if (Auth::check())
$user_id = Auth::user()->id;
else
$user_id = '';
Visitors::create([
'user_id' => $user_id,
'uuid' => $uuid
]);
$response = $next($request);
return $response->withCookie(cookie()->forever('uuid', $uuid));
}
}
我已经创建了一个UUID中间件,用于在有人来到站点时随时设置UUID参数。我在我的路线中使用这个中间件。
这会导致设置UUID Cookie,但未加密。
在另一个控制器功能,当我尝试使用
$uuid = Request::Cookie(uuid);
它是走出来的空白,以获取UUID cookie的值。如果我将路由中的中间件序列更改为('web','uuid'),我开始得到TokenExceptionError('uuid','web')。 )
任何人都面临类似的问题?
你怎么知道cookie没有被加密?这听起来更像是它没有被设置。 – Kryten
您的会话cookie是否被加密? –
@Kryten:我可以看到UUID cookie。它是常规的UUID格式,并且未加密。 –