@romicohen
Системный Архитектор

Кто может растолковать образец замыкания из доки по созданию кастомного Guard для Auth?

Решил переделать кастомный гард из анонимного (Auth::viaRequest) в нормальный, но не понимаю образец в доке:
Auth::extend('jwt', function ($app, $name, array $config) {
            // Возвращаем экземпляр `Illuminate\Contracts\Auth\Guard` ...
            return new JwtGuard(Auth::createUserProvider($config['provider']));
        });

что это за $app, $name ?

зачем нужно в конструктор Guard передавать Auth::createUserProvider($config['provider']) ?

можно без этих сложностей обойтись как-то? )))

допустим написал я имплементацию Guard в виде MyGuard, могу я потом так сделать:
Auth::extend('myguard', function() {
            return new MyGuard();
        });

и если нет, то почему?
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
@romicohen Автор вопроса
Системный Архитектор
Методом научного тыка было выяснено, что:

Auth::extend('myguard', function() {
            return new MyGuard();
        });


таки работает :) Однако если передать в аргументах $app, то будет доступен весь контейнер приложения, и да (может кому пригодится), Request доступен через $app['request'] :-)

И да, добрые люди написали для таких случаев пару шпаргалок:

Illuminate/Auth/TokenGuard.php

и

https://github.com/irazasyed/jwt-auth-guard/tree/m...

:-)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы