Laravel api路线与auth

时间:2017-07-01 14:19:33

标签: ajax laravel xmlhttprequest vue.js axios

我正在尝试创建一个仅在发出请求的用户登录时才能访问的api路由。这就是我routes/api.php中的内容,但它返回 {"error":"Unauthenticated."}

Route::group(['middleware' => ['auth:api'], function () {
    Route::post('schedules', ['uses' => 'Api\ScheduleController@store']);
});

这可以在没有laravel护照的情况下完成吗?我只需要登录用户的应用内路由。

1 个答案:

答案 0 :(得分:4)

我认为提到的登录信息是" web"使用" session"作为司机。

你的问题是因为" web"和" api" guard使用不同的驱动程序进行身份验证看看config/auth.php。 " api"警卫正在使用"令牌"作为它的默认驱动程序。

因此,您几乎没有选择遇到这种情况。

  1. 移动"时间表"在web.php中。不用担心,如果未经过身份验证,您的ajax将失败。但请注意,任何涉及POST方法的内容都需要 csrf _token参数),除非您使用的是laravel axios
  2. 使用api进行身份验证,您也可以参考this tutorial获取"令牌"驱动程序和所有安全路由将在其身份验证标头
  3. 中使用令牌