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可以刷新令牌,因为仅一个小时有效
希望有帮助!
添加回答
举报