我正在尝试构建API身份验证,我为它定义了一个控制器,还有另一个用于Web登录的控制器。我在 config / api 中配置了2个不同的身份验证,因为有两种类型的用户,即将使用API的用户,另一种是Web用户。这是警卫配置:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'users-api' => [
'driver' => 'token',
'provider' => 'users-api',
],
'users' => [
'driver' => 'session',
'provider' => 'usuarios',
],
],
每当我尝试访问 / api / login 时,我会被重定向到/ login(这是Web视图,这就是我在api.php路由文件:
Route::group(['middleware' => ['auth:users-api']], function () {
Route::get('login','api\AuthenticationController@authenticate');
Route::get('register','api\AuthenticationController@register');
});
当我使用中间件时,我尝试从Controller构造中调用它,如下所示:$this->middleware('auth:users-api');
但是我仍然被重定向,如果我评论该行,或者如果我不在路由文件中使用中间件,我不会被重定向但我需要它来指定auth将使用哪个表。如果您还需要其他任何东西来帮我解决,我很乐意提供。提前谢谢。