Я определил маршрут в люменах
$router->get('/', function () use ($router) {
return $router->app->version();
});
Я хотел аутентифицировать вышеуказанный маршрут, используя токен JWT и / или простой ключ API.
Я пытался использовать что-то вроде
$router->group(['prefix' => 'api', 'middleware' => ['auth:api', 'api_key', 'throttle']], function () use ($router) {
$router->get('/', function () use ($router) {
return $router->app->version();
});
});
api_key
- промежуточное ПО с кодом
$data = $request->bearerToken();
if(empty($data))
{
return response()
->json([
'success' => false,
'status' => 401,
'message' => 'HTTP_UNAUTHORIZED'
], 401);
}
$user = User::where('api_key', $data)->first();
if(empty($user))
{
return response()
->json([
'success' => false,
'status' => 401,
'message' => 'HTTP_UNAUTHORIZED'
], 401);
}
return $next($request);
Когда я предоставляю токен JWT в качестве носителя авторизации, он работает.
Но когда я попытался передать API-ключ в качестве носителя авторизации, он выдал исключение 401 из auth:api
.
Как изменить код для обработки обоих случаев в люменах