我希望有人能解释为什么我是 unauthenticated
当已经执行成功时 Oauth 2
认证过程。
我已经设置了 Passport
像 Laravel 文档中的包一样,我成功地通过了身份验证,收到了一个 token 值等等。但是,当我尝试做 get
时请求,比如说,/api/user
, 我得到一个 Unauthenticated
错误作为响应。我使用 token 值作为带有键名 Authorization
的 header ,正如文档中所述。
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware("auth:api");
此功能假设将我自己作为经过身份验证的用户还给我,但我只收到
Unauthenticated
.同样,如果我只返回第一个用户,我又会收到 Unauthenticated
.Route::get('/test', function(Request $request) {
return App\User::whereId(1)->first();
})->middleware("auth:api");
在来自
Laracast
的教程中, 指导设置 Passport
,导游没有 有 ->middleware("auth:api")
在他的 route 。但如果它不存在,那么根本不需要身份验证!请,任何建议或答案是更多然后欢迎!
最佳答案
您必须为您生成的 token 设置到期日期,
将 AuthServiceProvider 中的引导方法设置为类似于下面的代码并尝试生成新 token 。护照默认过期返回负数
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(Carbon::now()->addDays(15));
Passport::refreshTokensExpireIn(Carbon::now()->addDays(30));
}
关于authentication - 护照 - "Unauthenticated."- Laravel 5.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39228194/