我在Laravel项目中使用Tymon JWT软件包,并且在闲置4个小时后,需要使已连接用户的令牌无效。
在软件包的配置文件中,我可以将令牌的TTL
时间设置为:'ttl' => env('JWT_TTL', 240),
,即使用户处于活动状态,用户也会每4小时注销一次,但我只希望这种情况发生如果用户在整个4个小时内都不活跃。
答案 0 :(得分:1)
要让令牌在用户闲置后过期,您必须在每个请求上重新发出令牌并重新设置过期
我相信您也在寻找exp
,而不是ttl
。
令牌是由服务器在特定时间铸造的。您无法修改令牌,但可以制作一个新令牌。只有服务器可以铸造令牌。在大多数情况下,服务器使用公钥-私钥,并用私钥对令牌进行签名。因此,用户不能在不通过验证的情况下对其进行修改。
仅在用户下次发出请求时设置令牌。使用JWT时,这是一种常见的做法。设置它并不需要太多开销,并且可以解决“ 4小时的闲置时间”登出。