当前位置: 首页 > 知识库问答 >
问题:

JWT认证系统

空英逸
2023-03-14

我试图在laravel中安装jwt身份验证,但我使用Laravel5.8和jwt,如下所示https://tutsforweb.com/restful-api-in-laravel-56-using-jwt-authentication/ ,但向我显示此错误。

我的供应商/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);
    }

我发现了这个建议,并遵循了Laravel-JWT身份验证,无法从请求中解析令牌

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));
}

我怎样才能改变这个?

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

共有1个答案

葛鸿熙
2023-03-14

尝试此步骤设置您的JWT登录

>

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

    留档:https://jwt-auth.readthedocs.io/en/docs/laravel-installation/

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

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

    在您的App\Http\Middleware

    https://github.com/kennethtomagan/laravel-5-api-boilerplate/blob/master/app/Http/Middleware/JWTMiddleware.php

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

    protected $routeMiddleware = [
          ....
          ....
          'jwt' => \App\Http\Middleware\JWTMiddleware::class,
      ];
    

    样本:https://github.com/kennethtomagan/laravel-5-api-boilerplate/blob/master/app/Http/Controllers/Auth/AuthController.php

    Route::group(['middleware' => [ 'jwt', 'jwt.auth']], function () {
        ....
        ....
        });
    
    

    希望能有所帮助,

    工作示例:https://github.com/kennethtomagan/laravel-5-api-boilerplate

  •  类似资料:
    • 我们在 remember-me-hash上,基于 Form 表单的方式,来实现基于散列的令牌方法的 Remember-Me 认证,我们新建一个 jwt-authentication项目。 build.gradle 修改 build.gradle 文件,让我们的remember-me-hash项目成为一个新的项目。 修改内容也比较简单,修改项目名称及版本即可。 jar { baseName

    • 我目前正在运行一个Node.js应用程序,有一个应用程序接口和文件服务(我知道nginx可以处理它,但我一开始不应该使用它)。 我只是用它来做一个简单的基本认证,碰巧没那么简单。 这是我的nginx配置: 文件只是,很好。 使用此配置,当我转到我的IP时: 询问我用户和密码 开始加载页面 (有时)再次询问用户和密码 完成以加载页面 到目前为止还不错,即使它问了两次密码。 Node.js应用程序具有

    • 早些时候,当我使用Laravel5.2时,我使用了第三方软件包https://github.com/tymondesigns/jwt-auth/用于进行基于JWT的身份验证。我们只需要传递用户名和密码就可以获得令牌。 现在在laravel 5.3中,随着passport的引入,我想进行基于JWT的身份验证,但passport要求我指定客户端id和客户端密码以及用户名和密码。这在tymondesig

    • 认证体系主要包括认证源、域、项目、组、用户、权限、角色等信息。 其中云管平台中的域、项目、用户关系如下图所示: 云管平台中支持多个域,默认为default域,可根据需求创建域。 一个域中包含多个项目,多个用户,用户只能加入对应域中的项目(system项目除外)。 项目是资源的拥有者,用户是资源的使用者,一个用户可以加入多个项目,通过切换项目使用不同项目中的资源。 认证源 云联壹云平台支持对接多种认

    • 介绍如何在云联壹云平台上对接企业用户、并根据企业结构划分资源等。 认证体系介绍 云联壹云 平台认证体系支持多租户管理,以域为一个租户,域下包括完整的用户、资源划分以及权限体系等。此外还支持多种辅助认证源,实现单点登录平台等。 常用概念介绍 认证源:用户数据的来源并支持对接辅助认证的第三方认证源。 域:基于多租户管理而划分的逻辑概念,域下包括完整的用户、资源划分以及权限体系等。域管理员可以完全自治的