Php JWT认证系统

Php JWT认证系统,php,linux,laravel,apache,logging,Php,Linux,Laravel,Apache,Logging,我试图在laravel中安装jwt身份验证,但我使用laravel 5.8和jwt,如下所示,但向我显示此错误 我的供应商/tymon/jwt auth/src/jwt.php中有任何问题吗 第182行和第200行之间 public function parseToken() { if (! $token = $this->parser->parseToken()) { throw new JWTException('The token

我试图在laravel中安装jwt身份验证,但我使用laravel 5.8和jwt,如下所示,但向我显示此错误

我的供应商/tymon/jwt auth/src/jwt.php中有任何问题吗

第182行和第200行之间

public function parseToken()
    {
        if (! $token = $this->parser->parseToken()) {
            throw new JWTException('The token could not be parsed from the request');
        }

        return $this->setToken($token);
    }
嗯,我找到了这个建议,并遵循了这个建议

我怎样才能改变这个

ErrorException:未定义的属性:Tymon\JWTAuth\JWTAuth::$request 在C:\laragon\www\ecommerce\vendor\tymon\jwt auth\src\jwt.php:203


尝试此步骤设置JWT登录

  • 在你的Laravel应用程序中安装JWT软件包

    文件:

    composer需要tymon/jwt认证:dev-develop

    composer需要tymon/jwt认证:1.0.0-rc.5

  • 在您的
    App\Http\Middleware

  • App\Http\kernel.php
    文件的
    $routeMiddleware
    中注册此中间件

  • 设置控制器
  • 样本:

  • 设置API路由
  • 希望有帮助


    工作示例:

    检查一下,您可能会发现它很有用
    public function parseToken($method = 'bearer', $header = 'authorization', $query = 'token')
    {
        if (! $token = $this->parseAuthHeader($header, $method)) {
            if (! $token = $this->request->query($query, false)) {
                throw new JWTException('The token could not be parsed from the request', 400);
            }
        }
    
        return $this->setToken($token);
    }
    
    /**
     * Parse token from the authorization header.
     *
     * @param string $header
     * @param string $method
     *
     * @return false|string
     */
    protected function parseAuthHeader($header = 'authorization', $method = 'bearer')
    {
        $header = $this->request->headers->get($header);
    
        if (! starts_with(strtolower($header), $method)) {
            return false;
        }
    
        return trim(str_ireplace($method, '', $header));
    }
    
    protected $routeMiddleware = [
          ....
          ....
          'jwt' => \App\Http\Middleware\JWTMiddleware::class,
      ];
    
    Route::group(['middleware' => [ 'jwt', 'jwt.auth']], function () {
        ....
        ....
        });