2017-03-10 110 views
9

Python'da bir istemci ve PHP'de bir arka uç var. Python istemcisi pyjwt kullanıyor ve php sunucusu Firebase JWT kullanıyor.Firebase JWT kitaplığı Python JWT belirtecini doğrulayamıyor

Php içerisindeki jetonları kodlarken ve deşifre ederken her şey iyi çalışıyor.

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 
    ... 

kodlayan piton kodu

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') 

Aşağıdaki ve PHP kodu takip

: Ben piton belirteçleri kodlayan ve Firebase kütüphane php ile deşifre Ancak bir hata verir

cevap

2

Tamam, sorunu buldum. Sorun, farklı partiler tarafından kullanılan gizli anahtar oldu. Anahtar PHP tarafından okunmaya çalışırken bir sorun vardı ve bu yüzden farklı belirteçleri yaratıyordu. Kütüphaneler iyi, birbirleriyle problemsiz iletişim kurabilirler.