php – Firebase JWT库无法验证Python JWT令牌

所以我有一个客户端在 python和后端 PHP. python客户端正在使用 pyjwt,PHP服务器正在使用 Firebase JWT.

PHP中的令牌进行编码和解码时,一切正常.但是当我从python编码令牌并用PHP解码它们时,Firebase库返回一个错误

Firebase\JWT\SignatureInvalidException Object
(
    [message:protected] => Signature verification Failed
    [string:Exception:private] => 
    [code:protected] => 0
    [file:protected] => /var/www/vendor/firebase/PHP-jwt/src/JWT.PHP
    [line:protected] => 110
    ...

编码python代码如下

import jwt
...
payload = {'sub': self.client.id,'exp': (datetime.Now() + timedelta(days=1)).timestamp()}
context['token'] = jwt.encode(payload,os.environ['JWT_KEY'],algorithm='HS256')

PHP代码如下

$key = getenv("JWT_KEY");
return (array) \Firebase\JWT\JWT::decode($token,$key,array('HS256'));
好的,我发现问题.这个问题是不同方面所使用的秘密钥匙.关键在PHP尝试读取时出现问题,这就是为什么要创建不同的令牌.这些库是可以的,它们之间可以互相通信,没有任何问题.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...