Аутентификация промежуточного программного обеспечения в laravel для аутентификации пользователей с использованием моего настраиваемого средства защиты, но каждый раз, когда я вызываю маршрут с этим промежуточным ПО, я получаю сообщение об ошибке:
Маршрут [логин] не определен.
Прямо сейчас я просто пытаюсь убедиться, что промежуточное программное обеспечение вызывается. Это то, что я сделал до сих пор:
public function handle($request, Closure $next, $guard = null)
{
return "hi";
if (Auth::guard('api')->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
}
return redirect()->guest('hi/login');
}
return $next($request);
}
выше - метод handle для authenticate.php.это мой код для охраны
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'access_token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],
Маршруты: это группа маршрутов, в которой у меня есть подгруппа, которая реализует промежуточное программное обеспечение аутентификации Route::group(['prefix' => 'app'], function() use ($router) { }
Это маршрут, который яя тестирую промежуточное ПО на Route::get('/subscribedcompanies','PromotionController@getFavoriteCompanies');
Еще одна вещь, которую я хотел бы добавить, я пытаюсь аутентифицироваться на основе access_token из базы данных.я изменил функцию аутентификации и учетных данных в контроллере входа в систему следующим образом:
protected function credentials(Request $request)
{
return array_merge($request->header('authorization'));
}
public function authenticate(Request $request)
{
$credentials = $request->header('authorization');
if (Auth::attempt($credentials)) {
// Authentication passed...
return redirect()->intended('/');
}
}