'ttl' => null,
'refresh_ttl' => null,
我需要令牌不会过期.. 它不起作用,它总是返回“错误”:“令牌过期”
答案 0 :(得分:1)
在文件vendor / tymon / jwt-auth / config / config.php中更改行
'ttl' => env('JWT_TTL', 60),
'ttl' => env('JWT_TTL', null),
同时删除此行中的exp
'required_claims' => [
'iss',
'iat',
'exp',
'nbf',
'sub',
'jti',
],
适用于我的
答案 1 :(得分:1)
在 JWTAuth 中不过期登录的步骤:
jwt.php
(如果它不可用,则在项目中使用此命令发布 jwt.php
文件==>php artisan vendor:publish --provider="Tymon\JWTAuthProviders\JWTAuthServiceProvider" )
'ttl' => env('JWT_TTL', 60),
'ttl' => env('JWT_TTL', null),
'required_claims' => [ 'iss', 'iat', 'exp', 'nbf', 'sub', 'jti', ],
答案 2 :(得分:0)
这个问题很模糊,因为我们不知道哪个库/组件用于生成Jot,因此我们无法知道过期声明的管理方式。
通常,要获得未过期的Jot,此类声明(exp
,ttl
或refresh_ttl
)不应成为有效负载的一部分。
以下令牌将在3600秒后过期。
{
'iss': 'my-service'
'aud': 'your-service'
'sub': 'my-client'
'ttl': 3600
}
以下令牌永远不会过期。
{
'iss': 'my-service'
'aud': 'your-service'
'sub': 'my-client'
}
答案 3 :(得分:0)
如果您不想有条件地使令牌过期。
if ( // your condition ) {
$this->guard()->setTTL(null);
}