laravel的 message:Unauthenticated 错误

2019-07-10

简介

api 报错 “message”: “Unauthenticated.”。经过检查,api设置没有问题。

报错版本

laravle 5.6.3

passport 6.0.7

原因

根本原因是:由于 composer update 时候,把 laravel 从 5.6.0 升级到了 5.6.3

这个坑中文的文档中没有,只有在英文原始文档中描述:https://laravel.com/docs/5.6/upgrade#upgrade-5.6.30

新版本 Laravel 5.6.30 考虑到安全性,禁用 cookie 值的所有序列化/反序列化。会导致之前所有的 cookie 无效。

解决方案

由于 passport 使用了 cookie 的序列化,所以启用 cookie 序列化:在 App\Http\Middleware\EncryptCookies 添加:

1
protected static $serialize = true;

刷新网页,提示:

1
unserialize(): Error at offset 0 of 40 bytes

清除浏览器中的 cookie。