首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase JWT库无法验证Python JWT令牌

Firebase JWT库无法验证Python JWT令牌
EN

Stack Overflow用户
提问于 2017-03-10 19:07:24
回答 1查看 813关注 0票数 9

所以我有一个用python写的客户端和一个用PHP写的后端。python客户端使用pyjwt,而php服务器使用Firebase JWT

在php中对令牌进行编码和解码时,一切工作正常。但是,当我用php对python中的令牌进行编码和解码时,Firebase库返回一个错误:

代码语言:javascript
复制
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代码如下所示

代码语言:javascript
复制
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代码如下所示

代码语言:javascript
复制
$key = getenv("JWT_KEY");
return (array) \Firebase\JWT\JWT::decode($token, $key, array('HS256'));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-15 18:13:01

好了,我找到问题了。问题是不同各方使用的秘密密钥。这个密钥在被PHP读取时出现了问题,这就是为什么它创建了不同的令牌。这些库都很好,它们之间的通信没有任何问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42716903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档