加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:34:40 所属栏目:PHP教程 来源:网络整理
导读:所以我有一个客户端在 python和后端 PHP. python客户端正在使用 pyjwt,php服务器正在使用 Firebase JWT. 当php中的令牌进行编码和解码时,一切正常.但是当我从python编码令牌并用php解码它们时,Firebase库返回一个错误: FirebaseJWTSignatureInvalidExcept
所以我有一个客户端在 python和后端 PHP. python客户端正在使用 pyjwt,php服务器正在使用 Firebase JWT.

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

FirebaseJWTSignatureInvalidException 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) FirebaseJWTJWT::decode($token,$key,array('HS256'));
好的,我发现问题.这个问题是不同方面所使用的秘密钥匙.关键在PHP尝试读取时出现问题,这就是为什么要创建不同的令牌.这些库是可以的,它们之间可以互相通信,没有任何问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读