laravel引入Lcobucci-JWT使用遇到的时间时区问题修改设置时区也是不管用
2. 问题描述?
Lcobucci/JWT 版本是3.4
php 7.4
nginx
mac pro
– 创建token设置时区
// 生成token
public function getToken($uid){
$signer = new Sha256();
$now = new DateTimeImmutable(getDateTime(time()),new DateTimeZone("Asia/Shanghai"));
$token = (new Builder())
->issuedBy('yabang-com')
->issuedAt($now)
// ->canOnlyBeUsedAfter($now)
->expiresAt($now->modify("+3 hour"))
->withClaim('uid',$uid)
->sign($signer,'yabang')
->getToken();
return $token->toString();
}
– 解析出的结果时间还是不对
Lcobucci\JWT\Token\DataSet Object
(
[data:Lcobucci\JWT\Token\DataSet:private] => Array
(
[iss] => yabang-com
[iat] => DateTimeImmutable Object
(
[date] => 2022-12-05 06:06:53.000000
[timezone_type] => 1
[timezone] => +00:00
)
[exp] => DateTimeImmutable Object
(
[date] => 2022-12-05 09:06:53.000000
[timezone_type] => 1
[timezone] => +00:00
)
[uid] => 2
)
[encoded:Lcobucci\JWT\Token\DataSet:private] => eyJpc3MiOiJ5YWJhbmctY29tIiwiaWF0IjoxNjcwMjIwNDEzLCJleHAiOjE2NzAyMzEyMTMsInVpZCI6Mn0
)
求大神指点一二
推荐文章: