我试图找出让JWT过期的问题,我应该使用“ exp”属性还是将/ DateTime对象写为if语句?我是PHP新手。
我尝试了\ DateTime对象,但是是否多余?也许我需要对令牌中的expire属性如何工作有更好的了解。
#!/usr/bin/env php
<?php
require 'vendor/autoload.php';
use \Firebase\JWT\JWT;
$jwt_key = $client->getClientSecret();
$user_id = $client->getClientId();
$client_id = $client->getId();
$grant_types ='Null';
$token_data = array(
'client Id; => $user_id,
'Client Secret' => $jwwt_ket,
'Id' => $client)id,
'Grant Types' => $grant_types
);
$token_string = JWT::encode($token_data, $jwt_key);
$token = new Token($client);
$token->setAccessToken($token_string);
return $token_string;
?>
答案 0 :(得分:1)
exp
定义令牌到期的时间(以UNIX纪元时间表示(自1970年1月1日00:00开始的秒数))。
作为令牌验证的一部分,当在exp之后收到令牌时,框架将检查exp
并认为令牌无效/已过期。
这是推荐的标准方式,您无需对DateTime对象实施任何额外的操作。
有关如何定义exp的更多详细信息,请参见my answer here