2 回答

TA貢獻1786條經驗 獲得超13個贊
那么火力不允許核查custom tokens他們所做的事情是為了讓驗證id tokens他們在登錄使用自定義的令牌一旦用戶生成。因此,就像我一樣,如果您將Firebase自定義令牌傳遞給其他服務以通過后端進行身份驗證,那么自定義令牌驗證的責任就在您身上!此外,Google服務帳戶的X509 cert格式不正確。它具有這些\n (new line)定界符,這些定界符不會在文本編輯器中被換行(我使用vim)。因此,我所做的是這樣的:
val factory = CertificateFactory.getInstance("X.509")
val certificateFile = this.getClass.getResourceAsStream(Play.current.configuration.getString("firebase.certificate").get)
val publicKey = factory.generateCertificate(certificateFile).asInstanceOf[X509Certificate].getPublicKey
val claimBody = Jwts.parser().setSigningKey(publicKey).parseClaimsJws(compactJws).getBody
得到谷歌的服務帳戶鏈接證書中下載的JSON規定而設立火力
手動更換\n新線
獲取JWT庫。我使用了這個很棒的庫來驗證Java JWT
閱讀證書并提取公共密鑰。
使用公鑰驗證令牌
確保您還有另一個API可以刷新令牌,因為僅一個小時有效
希望有幫助!
添加回答
舉報