调用包中未定义的方法 Vender\Package\Auth::extend()

问题描述

我正在尝试使用 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
  • 尝试运行任何 artisan 命令。

我收到此错误

 Error 

  Call to undefined method vendor\Package\Auth::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
      Illuminate\Foundation\Application::Illuminate\Foundation\{closure}()

      +5 vendor frames 
  15  artisan:37
      Illuminate\Foundation\Console\Kernel::handle()

我的包名也是 Auth。我坚持解决这个问题。有什么帮助吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)