Я следую этому учебнику , в рамках которого вы устанавливаете куки из промежуточного программного обеспечения.
Поскольку мое специальное промежуточное программное обеспечение, в котором установлен файл cookie, находится до промежуточного программного обеспечения EncryptCookies, я следую рекомендации в руководстве по шифрованию cookie вручную:
if(!$request->hasCookie('referral')){
return redirect($path)
->withCookie(cookie('referral', encrypt($name), 60*24*14));;
}
Однако, если этот файл cookie установлен, как указано выше для $name = foo
, а затем извлечен с использованием фасада файла cookie - тип и длина переменной добавляются к значению:
dd(\Cookie::get('referral')) //Returns "s:3:"foo";"
Из-за отслеживания встроенного в laravel шифрования cookie я думаю, что это, вероятно, связано с сериализацией, но я не могу найти правильный вариант при установке или получении cookie для ожидаемого поведения:
dd(\Cookie::get('referral')) //Expected to return "foo"`
После тестирования в tinker и ручного использования decrypt()
для значения cookie, вставленного при копировании, оно обычно устанавливается , и проблема заключается в получении.