中间件不适用于API路由

时间:2017-09-26 17:30:23

标签: laravel-5

我创建了一些中间件来动态更改数据库。那些middelware在web.php中运行良好但是当我在api.php中使用相同的中间件时,它们无法工作。

以下是API.php

的代码
Route::group(['middleware' => ['subdomain_setup','auth:api','api'],'prefix'=>'v1'], function () {
    Route::get('getCoupons','Api\CouponAPI@getCoupons');
});

Subdomain_setup中间件根据子域更改数据库。但是它没有使用api路由,所以我在访问我的api路由时遇到了这个错误

 Unknown column 'api_token' in 'where clause' (SQL: select * from `users` where `api_token` = 

在默认连接中,users表没有api_token,因此数据库没有更改。

1 个答案:

答案 0 :(得分:0)

auth:api中间件使用'token'作为后卫。

  1. 确保在api数组中的config / auth中使用'passport'作为'driver'。
  2. 像这样清除你的缓存:php artisan config:cache。
  3. 发送您的api请求,包括标题'授权'承载(和您的令牌)