Firebase令牌验证中的误解

时间:2017-07-26 00:31:40

标签: firebase encryption cryptography firebase-authentication rsa

我想在C ++中使用this third party library在服务器端验证Firebase的令牌。但我有一些误解: 对于令牌验证,我需要提供公钥和私钥Firebase says that

  

必须对应于其中列出的公钥之一   https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com

但是当我打开链接时,我找不到公钥和私钥,我应该通过它来进行令牌验证。

那么,如何获取用于令牌验证的公钥和私钥?

1 个答案:

答案 0 :(得分:1)

您只需要公钥即可验证Firebase ID令牌和jwt。该链接包含公钥json对象(我​​们称之为publicKeysObject)。您在JWT标头中获得“kid”字段,然后获取公钥,如下所示:publicKeysObject [kidFromJWT]

检查Firebase Admin node.js SDK开源实施,以获取详细信息:https://github.com/firebase/firebase-admin-node/blob/master/src/auth/token-generator.ts