【发布时间】:2019-05-22 01:23:30
【问题描述】:
我试图让 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;
?>
【问题讨论】:
-
“我已经尝试过\DateTime 对象但它是多余的”是什么意思?此外,我见过的几乎所有 JWT 指南中都显示了如何在 JWT 上设置过期日期。如果您的代码有问题,您需要向我们展示代码并解释实际问题是什么。现在,你的问题很不清楚。
-
你试过在 php.net 上查找他们每个人都做了什么吗?
-
我查看了常规属性的 JWT 指南。所以我猜我在 PHP 中的要求是我应该通过 if 语句将令牌设置为过期还是在 JWT 和库的结构中完成
-
如果您使用的是
Firebase\JWT\JWT,请使用exp。如果令牌已过期,库将自动处理它并抛出一个方便的异常,您不需要任何逻辑。
标签: php firebase oauth firebase-authentication jwt