【问题标题】:How to set expire time of JWT Token in Laravel 5.1如何在 Laravel 5.1 中设置 JWT Token 的过期时间
【发布时间】:2015-12-13 19:26:58
【问题描述】:

我正在使用 Django、JWT 和 Laravel 5.1 制作身份验证 API。但我不知道如何设置令牌的过期时间以及如何将其从客户端发送到 API(也由 Laravel 5.1 制作)。谁能帮助我,我知道这是一个基本问题,但我试图谷歌但没有任何答案。

谢谢。

【问题讨论】:

    标签: django api laravel-5.1 jwt


    【解决方案1】:

    据我所知,jwt 令牌用于 ajax 请求和 api 开发。如果您在客户端使用 laravel 刀片,那么您不需要使用 jwt。 Laravel 有一个用于 CSRF 令牌和身份验证的内置服务。

    laravel.com/docs/master/routing#csrf-protection

    但是你仍然需要使用 jwt,阅读这个教程:

    Token-Based Authentication for AngularJS and Laravel Apps

    【讨论】:

    • 这应该是一个评论!顺便说一句,我的客户也是由 laravel 5.1 制作的,所以我不知道如何检查它。
    • 不,我没有,我使用 Laravel API 中的 JWT 发送到客户端。我现在在我的网站上使用 csrf 令牌,但我不知道如何在 API 端为 JWT 设置过期时间
    【解决方案2】:

    JWT 支持许多保留声明。其中之一是“exp”。您使用此名称和时间戳对声明进行编码作为值:

    $key = "example_key";
    $token = array(
        "sample_key" => "sample_value",
        "exp" => 1356999524, // expiration timestamp
    );
    
    
    $jwt = JWT::encode($token, $key);
    

    延伸阅读:https://www.rfc-editor.org/rfc/rfc7519

    【讨论】:

      【解决方案3】:

      改变值

      'ttl' => 60, //Defaults to 1 hour
      

      在你的项目/config/jwt.php中

      这是在 Laravel 5.2 和 JWT 0.5 中。

      【讨论】:

        猜你喜欢
        • 2017-04-29
        • 2018-12-22
        • 2018-11-19
        • 2019-12-21
        • 1970-01-01
        • 2021-07-16
        • 1970-01-01
        • 2016-08-08
        • 2023-03-19
        相关资源
        最近更新 更多