我已经阅读了整个文档页面,据我所知,我已经按照文档说明完全设置了所有内容。但是,当我尝试向/api/users
发出GET请求时,它总是返回401 Unauthorized
。
如果我检查了请求,就会发现laravel_token
以及CSRF确实与请求一起传递了。
在这一点上,我不太确定为什么它总是无法通过身份验证,但是这很令人沮丧,并且我确定这是一个小小的问题,我以某种方式忽略了它。
我正在使用Laravel 5.7.5。
已完成配置步骤:
php artisan passport:install
Passport::routes()
添加到了AuthServiceProvider::boot()
config/auth.php
中的护照CreateFreshApiToken::class
添加到Web中间件答案 0 :(得分:-1)
经过大量的挖掘,我终于弄清楚了我的问题所在。
在Laravel 5.6和更高版本中,cookie不再被序列化/非序列化。但是,Passport仍然期望cookie被序列化。 Laravel或Passport的文档都没有指出这一点,希望它们能同步更多,所以这不是问题。
要解决此问题,只需将Passport::withoutCookieSerialization();
添加到app\Providers\AuthServiceProvider::boot()