Hola unos cuantos dias trabajando con
Laravel 5.1 para montar una api con Dingo y JWT, ya he conseguido que fuciona medio bien , yuhuuuu!!, ahora solo me falta entender algunas cosas. (seguramente algun@ me sugiera actualizar a 5.2 , pero por distintos motivos que no vienen al caso no puedo/debo hacerlo),
En mis rutas tengo definidas unas cuantas que necesitan autenticación, por ejemplo:
Código:
$api->version('v1', ['middleware' => ['api.auth']], function ($api) {
$api->get('users', ['as' => 'users.index', 'uses' => 'App\Http\Controllers\UserController@index']);
$api->get('users/{id}', ['as' => 'users.show', 'uses' => 'App\Http\Controllers\UserController@show']);
});
Kernel.php
Código:
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
],
'api' => [
],
];
/**
* The application's route middleware.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'jwt.auth' => \Tymon\JWTAuth\Middleware\GetUserFromToken::class,
'jwt.refresh' => \Tymon\JWTAuth\Middleware\RefreshToken::class,
];
}
Mi duda es que auth:api no está en el archivo kernel.php definida y funciona de todas formas, por eso no entiendo donde se encuentra ese código que valida la autenticación api:auth, ¿alguien me podría acalarar?. Tengo más dudas pero creo que es más conveniente escribirlas en otros posts para no liar la cosa.
Gracias de antemano.