Php JWT过期。哪种方法最好?

Php JWT过期。哪种方法最好?,php,firebase,oauth,firebase-authentication,jwt,Php,Firebase,Oauth,Firebase Authentication,Jwt,我正在试图找到让JWT过期的方法我已经生成了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_

我正在试图找到让JWT过期的方法我已经生成了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;
?>
#/usr/bin/env-php

exp
定义令牌过期的时间(以UNIX历元时间(自1970年1月1日00:00起的秒数)表示)。 作为令牌验证的一部分,该框架将检查<代码> EXP>代码>,并考虑令牌失效/过期,当它在Exp.

后收到。 这是推荐的标准方式,您不必对DateTime对象实现任何额外的功能


有关exp定义方式的更多详细信息,请参见

您所说的“我尝试了\DateTime对象,但它是多余的”是什么意思?此外,我所见过的几乎每一本JWT指南都介绍了如何设置JWT的过期日期。如果您的代码有问题,您需要向我们展示代码并解释实际问题。现在,你的问题还不清楚。你有没有试着去查一下他们在php.net上都做了些什么?我已经看过了JWT关于传统属性的指导方针。因此,我猜我在PHP中的问题是,我应该通过if语句将令牌设置为过期,还是在JWT和库的结构中完成所有设置如果您使用的是
Firebase\JWT\JWT
,只需使用
exp
。如果令牌已过期,库将自动处理它并抛出一个方便的异常,而您的端不需要任何逻辑。因此,假设我使用标准方法,使用在令牌中包含时间的expire属性,我如何在我的端跟踪它?一些框架会随令牌发送一个额外字段,通知您令牌何时过期。如果没有,您可以在客户端解码令牌并提取exp。有效负载只是bas64url编码的。根据您的经验,哪里是存储JWT的最佳位置?这是一个非常常见的问题,您可以在这里找到很好的详细答案。我不是前端开发人员。