我正在使用laravel api,它严格处理ajax请求。成功登录后,客户端将收到一个laravel护照令牌,用于连续请求。
api有此路由,它只返回经过身份验证的用户的详细信息:
Route::group(['middleware' => 'auth:api'], function() {
Route::post('/user/details', 'API\UserController@details');
});
// in UserController...
public function details() {
$user = Auth::user();
return response()->json([
'user' => $user
], 201);
}
当我使用postman测试我的api时,如果我添加:
{接受:应用程序/json,授权:“Bearer”LARAVEL\u PASSPORT\u TOKEN}
到请求标头:
在此处输入图像描述
但是如果我在头中只有{Accept:application/json}。它将返回一个正常的Json未经验证的响应。
所以,如果有人知道发生了什么,并给我一些关于它的见解,那就太好了。
提前感谢。
我想你会按照你的路线
Route::get('/login','ApiController@accessToken');
Route::group(['middleware' => ['web','auth:api']], function()
{
Route::post('/todo/','ApiController@store');
Route::get('/todo/','ApiController@index');
Route::get('/todo/{todo}','ApiController@show');
Route::put('/todo/{todo}','ApiController@update');
Route::delete('/todo/{todo}','ApiController@destroy');
});
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
有关更多信息,请访问文章:在Laravel中创建RESTAPI,并使用Passport进行身份验证