【问题标题】:How to expand jwt time? Jwt version : "tymon/jwt-auth": "^1.0.0-rc.2" Laravel 5.7如何扩展jwt时间? Jwt 版本:“tymon/jwt-auth”:“^1.0.0-rc.2”Laravel 5.7
【发布时间】:2019-08-08 21:18:37
【问题描述】:

如何延长令牌的有效期?我的功能已过期,但无法正常工作。

    protected function respondWithToken($token)
    {
        return response()->json([
            'token' => $token,
            'token_type' => 'bearer',
            'expires_in' => auth()->factory()->getTTL() * 464465353454316000,
            'user' => auth()->user()
        ]);
    }
}

令牌很快就会过期。

'expires_in' => auth()->factory()->getTTL() * 464465353454316000 //this line not work property. Token expired early

【问题讨论】:

  • Egad,你从哪里得到这个号码?
  • 我设置了手动。但默认是 *60
  • 在这种情况下你不会出现 int 溢出吗?为什么不简单地'expires_in' => 60 * 60 * 24 * 7// 1 week
  • @Justinas 这行得通吗? 'expires_in' => auth()->factory()->getTTL() * 60 * 60 * 24 * 7 ?
  • auth()->factory()->getTTL() 大概返回令牌应该工作的分钟数,* 60 将其转换为秒。在您的情况下,auth()->factory()->getTTL() 的价值是多少?

标签: php laravel jwt token


【解决方案1】:

试试这个,它对我有用:

use JWTAuth;
...
            'expires_in' => JWTAuth::factory()->getTTL() * 24,

【讨论】:

    【解决方案2】:
    'expires_in' => auth()->factory()->getTTL() * 60000
    

    如果您这样做,您的令牌有效期为 1 天

    【讨论】:

      【解决方案3】:

      在终端上发布配置文件php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider" 打开config/jwt.phpttl 设置为所需的分钟数,默认为60 分钟。

      【讨论】:

      • 是的,这是真的。 @cbaconnier 回答我的问题。
      猜你喜欢
      • 2019-05-22
      • 2020-05-11
      • 2017-06-10
      • 2019-04-29
      • 2016-03-18
      • 2017-07-29
      • 2018-10-21
      • 2020-07-05
      • 2018-03-31
      相关资源
      最近更新 更多