#laravel #jwt #laravel-package
Вопрос:
Я пытаюсь создать пакет (модуль) аутентификации, используя jwt-auth
который можно повторно использовать во всех моих приложениях. Но я получаю ошибки.
Framework Laravel
Framework version 8.46.0
jwt-auth version ^1.0.0-beta.3@dev
PHP version 7.4.20
Шаги по воспроизведению
- Создайте новый проект laravel
- Создайте внутри него новую упаковку
- Добавьте
"tymon/jwt-auth": "^1.0.0-beta.3@dev"
, как требование кcomposer.json
упаковке - Внедрите
JWTSubject
в свою пользовательскую модель - Попробуйте выполнить любую команду ремесленника.
Я получаю эту ошибку:
Error
Call to undefined method VendorPackageAuth::extend()
at vendor/tymon/jwt-auth/src/Providers/AbstractServiceProvider.php:98
94▕ * @return void
95▕ */
96▕ protected function extendAuthGuard()
97▕ {
➜ 98▕ $this->app['auth']->extend('jwt', function ($app, $name, array $config) {
99▕ $guard = new JWTGuard(
100▕ $app['tymon.jwt'],
101▕ $app['auth']->createUserProvider($config['provider']),
102▕ $app['request']
8 vendor frames
9 [internal]:0
IlluminateFoundationApplication::IlluminateFoundation{closure}()
5 vendor frames
15 artisan:37
IlluminateFoundationConsoleKernel::handle()
Мое имя пакета также Auth
. Я застрял в решении этой проблемы. Какая-нибудь помощь?
Комментарии:
1. можете ли вы показать код в пакете, в котором вы использовали Auth::extend. показать полный код
2. @JohnLobo, это совсем не мой код. Я еще не написал ни одной строки кода. Это код
jwt-auth
пакета.