我正在创建一个Laravel API,并希望通过Laravel Passport对其进行保护,但是,看来我无法通过身份验证。
我首先在auth:api
内使用中间件RouteServiceProvider.php
保护API路由
protected function mapApiRoutes()
{
Route::prefix('api')
->middleware('auth:api')
->namespace($this->namespace)
->group(base_path('routes/api.php'));
}
我还确保将config/auth.php
中的API驱动程序更改为使用passport
'api' => [
'driver' => 'passport',
'provider' => 'users',
'hash' => false,
],
然后,我使用Laravel Docs中推荐的方法生成了令牌。我是在邮递员内部完成的。
然后,我在请求标头中使用了Bearer令牌,并将Accept
和Content-Type
设置为application/json
(在这个问题上我见过很多,人们说这应该完成)
还有我的api.php
Route::prefix('auth')->name('auth.')->group(function() {
Route::get('/user', function() { return response()->json(['error' => false, 'message' => 'Hello World']); })->name('user');
});
但是,当我发送请求时,我收到了Laravel Foundations Handler.php
发出的相同的401错误(我已经编辑了响应以适合我的用例,但这对我当前的问题没有影响)
"messsage": "Unauthenticated."
返回以下标题;
在做我的研究I found a question时,它描述了我正在经历的事情,但似乎已经被放弃了,没有提供答案。有什么想法吗?