php文件网页验证失败,使用PHP进行JWT“签名验证失败”

我正在使用带有

PHP的Firebase / JWT.我试图在“解码”的php文件中读取令牌,但它显示签名验证失败,不知道为什么会发生这种情况.这就是我编码令牌的方式

use \Firebase\JWT\JWT;

require 'vendor/autoload.php';

require('config/Database.php');

$db = new Database;

$key = "helloworld";

//$jwt = JWT::encode($token, $key, 'HS512');

$post = file_get_contents("php://input");

$postdata = json_decode($post);

if($postdata){

$email = $postdata->email;

$password = $postdata->password;

$query = "SELECT * FROM users WHERE email = :email";

$db->query($query);

$db->bind(":email", $email);

$rows = $db->resultset();

if(password_verify($password, $rows[0]["hash"])){

$rows[0]["Success"] = "Success";

$token = array(

"rows" => $rows

);

$jwt = JWT::encode($token, $key, 'HS256');

header("auth: " . $jwt);

echo json_encode($jwt, 128);

}else{

echo "Failed";

}

}

?>

然后我正在解码此文件中的令牌

use \Firebase\JWT\JWT;

require 'vendor/autoload.php';

require('config/Database.php');

$db = new Database;

$key = "helloworld";

//$jwt = JWT::encode($token, $key, 'HS512');

$post = file_get_contents("php://input");

$postdata = json_decode($post);

if($postdata){

$userData = $postdata->userdata;

// check if token is same stored in the database then decode

$jwt = JWT::decode($userData, $key, array('HS256'));

echo $jwt;

}

?>

它失败,返回“签名验证失败”错误.

任何帮助表示赞赏.谢谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值