Firebase 3.0代币:[错误:声明无效'小孩'在auth标题中。]

时间:2016-06-20 00:07:19

标签: node.js firebase token jwt

我试图在node.js中创建JWT令牌,以便与firebase中的REST api一起使用,但是当我尝试使用它们时,我收到错误"错误:声明无效'孩子'在auth标题中。"

这是我的代码

http.createServer(function (req, res) {
    var payload = {
        uid: "bruh"
    };

    var token = jwt.sign(payload, sact["private_key"], {
        algorithm: 'RS256',
        issuer: sact["client_email"],
        subject: sact["client_email"],
        audience: 'https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit',
        expiresIn: '3600s',
        jwtid: sact["private_key_id"],
        header: {
            "kid": sact["private_key_id"]
        }
    });

    res.writeHead(200);
    res.end("It worked. (" + token + ")");
}).listen(port);

这些是我的要求

var http = require('http');
var jwt = require('jsonwebtoken');

2 个答案:

答案 0 :(得分:3)

请使用returnSecureToken:true,并使用正确的拼写 我希望它能解决auth标头中的无效声明“孩子”的问题。

答案 1 :(得分:1)

这是一个问题,因为您需要生成Firebase ID令牌,而不是Firebase REST API的访问令牌。

要生成REST API令牌,我会使用遗留的Firebase Token Generator library,它仍能很好地工作(但只生成REST令牌,而不是通用访问令牌)。

请注意,您的Firebase数据库密码现在位于控制台左上角的齿轮图标下。