亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 PHP 進行 Web 推送的 JWT 簽名

使用 PHP 進行 Web 推送的 JWT 簽名

PHP
30秒到達戰場 2023-11-03 17:34:14
我正在嘗試使用 PHP 發送網絡推送通知。我已經閱讀了有關如何實現網絡推送協議的信息,例如此處。但是,我認為我并沒有真正理解本指南的作者解釋如何形成授權標頭的步驟。使用這個庫并給定由在線生成器創建的 VAPID 密鑰,我嘗試了以下操作:use Lcobucci\JWT\Builder;use Lcobucci\JWT\Signer\Key;use Lcobucci\JWT\Signer\Ecdsa\Sha256;$signer = new Sha256();$privateKey = new Key('<the generated private VAPID key>');$time = time();$token = (new Builder())->permittedFor('https://example.com')                        ->expiresAt($time + 3600)                        ->withHeader('alg', 'ES256')                        ->withClaim('sub', 'mailto:[email protected]')                        ->getToken($signer, $privateKey);我想要得到的是類似于<JWT Info>.<JWT Data>.<Signature>out of 的東西$token。但是,我收到錯誤。致命錯誤:未捕獲 InvalidArgumentException:無法解析您的密鑰,原因:錯誤:0909006C:PEM ...有人知道我在這里做錯了什么嗎?預先非常感謝!
查看完整描述

1 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

在內部,Lcobucci/jwtAPI使用?openssl_pkey_get_private()openssl_pkey_get_public()函數。

根據文檔,他們期望 PEM 編碼的密鑰,但這不是您提供的。這類鍵以--------BEGIN前綴開頭。


查看完整回答
反對 回復 2023-11-03
  • 1 回答
  • 0 關注
  • 156 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號