2016-11-08 245 views
0

我與節點的服務器上使用jsonwebtoken這驗證客戶端請求(火力2.x的軟件開發工具包):jsonwebtoken.verify與火力地堡SDK

const jwt = require('jsonwebtoken') 
jwt.verify(token, <firebase_secret>, (err, decoded) => { }) 

這適用於來自瀏覽器的JavaScript火力2請求。 x和ios Firebase 2.x.

現在,我們將我們的ios sdk升級到firebase 3.x,並驗證令牌失敗,並顯示以下錯誤:[JsonWebTokenError: jwt malformed] name: 'JsonWebTokenError', message: 'jwt malformed'

我想要做的是以下幾點:

  • 使用瀏覽器2.x的火力
  • 使用的iOS 3.x的火力
  • 使用節點火力2.x的

是有一種方法可以讓jwt.verify()與來自瀏覽器2.x和ios 3.x的令牌一起玩嗎?

回答

0

原來火力地堡的SDK 2.x和3.x

  • 節點火力地堡的SDK 2.x的稱爲火力服務器
  • 節點火力地堡SDK 3之間的改變令牌簽名算法和私鑰。 x被稱爲firebase-admin

我到達的解決方案是通過要求節點服務器上的兩個庫和讓2.x客戶端使用一個密鑰發送令牌,並讓3.x客戶端使用另一個密鑰發送令牌。

在服務器端 - 使用firebase-server庫或firebase-admin庫進行解碼,具體取決於發送哪個令牌。這使我們能夠升級iOS SDK而無需同時更新Web SDK