Diclamer
Если вам нужен собственный код для обработки аутентификации, вы должны создать свое собственное промежуточное ПО и средство аутентификации и использовать его вместо того, который используется по умолчанию Laravel.
Ваши вопросы
Что означает route::middleware('auth:api')
do
В нем говорится, что маршрут должен реализовывать промежуточное программное обеспечение "auth" и группу промежуточного программного обеспечения "api".
Где код route::middleware('auth:api')
Все промежуточное ПО в Laravel определено в app/Http/Kernel.php
.
Там вы, вероятно, увидите что-то вроде
protected $middlewareGroups = [
....,
'api' => [
'throttle:60,1',
'bindings',
],
];
и
protected $routeMiddleware = [
...,
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
Это означает, что маршрут с использованием промежуточного программного обеспечения auth:api
реализует группу промежуточного программного обеспечения API (в данном случае промежуточное программное обеспечение ThrottleRequests
и SubstituteBinding
) и промежуточное программное обеспечение аутентификации (Authenticate
).
Фактическая защита, используемая для аутентификации, зависит от конфигурации в вашем файле конфигурации auth.php
:
'guards' => [
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
В приведенном выше случае используется TokenGuard (laravel/framework/src/Illuminate/Auth/TokenGuard.php
).
Итак, чтобы ответить на ваш вопрос, код дляЭто промежуточное ПО можно найти по адресу
laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php