Я создаю приложение, которое использует стороннюю базу данных аутентификации. Я создал пользовательский пакет композитора для "перехвата" запроса POST
на /login
. Все работает отлично - я могу вернуть объект пользователя и сохранить его в своей базе данных (laravel).
Сейчас я нахожусь в точке, где я хочу перенаправить на домашнюю страницу и делать "вещи"». Я хотел бы максимально использовать нативный Laravel Auth
, если смогу.
Например, на домашней странице я делаю это:
$foo = auth()->user()->foo->where('active', 1);
Не удивительно, поскольку я не использую собственный метод аутентификации Laravel, auth()->user()
возвращает null
. Как только мой пользователь будет создан / найден в моей базе данных, можно ли вернуться к методам Laravel auth()
?
Спасибо за любые предложения!
РЕДАКТИРОВАТЬ
Читая документацию, это похоже на направление, в котором я должен идти , но у меня не получается понять, как подключить / зарегистрировать мой пользовательский пакет (я думаю) ...
РЕДАКТИРОВАТЬ 2
Я буду продолжать обновлять это, поскольку я чувствую, что я делаю какие-то успехи в надежде, что это не только поможет мне, но и поможет другим лучше понять, чтоЯ пытаюсь достичь. В конечном итоге помогите другим, которые могут попытаться сделать то же самое.
Я обновил свой app/Providers/AuthServiceProviderAuthServiceProvider
как таковой:
use My\Package\MyThirdPartyServiceProvider;
...
Auth::provider('foo', function ($app, array $config) {
// Return an instance of Illuminate\Contracts\Auth\UserProvider...
return new MyThirdPartyServiceProvider($app->make('foo.connection'));
});
Я также обновил свой файл config/auth
:
'providers' => [
'users' => [
'driver' => 'foo',
'model' => App\User::class,
]