【问题标题】:postman: "Could not get any response" when passing laravel passport token邮递员:传递 laravel 护照令牌时“无法得到任何响应”
【发布时间】:2019-01-04 12:10:12
【问题描述】:

我正在使用 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);
}

当我使用邮递员测试我的 api 时,如果我添加以下内容,我会收到此响应:

{Accept: application/json, Authorization: "Bearer" + LARAVEL_PASSPORT_TOKEN}

到请求头:

enter image description here

但如果我在标题中只有 {Accept: application/json}。 它会给我一个正常的 Json 未经身份验证的响应。

所以,如果有人知道发生了什么并给我一些关于它的见解,那就太好了。

提前致谢。

【问题讨论】:

  • 是的,我确定它正在运行。如果我从请求标头中删除令牌,它会给我回复
  • 员工路线在哪里?你打电话给你,你只定义了用户的详细信息路线,这是一个发布请求
  • 应该是 Route::get('/user/details', 'API\UserController@details');并在邮递员 http:\\siteurl\api\user\details
  • 如果我更改请求类型仍然无法工作。我使用的图像是从其他帖子重定向的。所以它不能正确地代表我的路径。但我是我使用的网址,我是正确的

标签: laravel api postman laravel-passport


【解决方案1】:

我认为你会像

一样遵循你的路线
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();

});

更多信息请访问文章:Create A REST API in Laravel With Authentication Using Passport

【讨论】:

猜你喜欢
  • 2017-11-18
  • 2019-04-01
  • 2018-06-03
  • 2019-03-20
  • 2020-09-20
  • 2019-07-18
  • 1970-01-01
  • 2019-12-23
  • 2018-09-24
相关资源
最近更新 更多