如何生成用于 Firebase REST API 的 JWT 令牌?

How can I generate a JWT token for use with the Firebase REST API?

我想在 firebase 中授权一个用户。我使用的 JavaScript 很差,所以我必须自己生成一个 JWT 令牌,但我不知道在创建令牌之前将用户名和密码放在哪里。对象应该是什么样子?

当您为 Firebase 创建自定义令牌时,您会以 JSON 格式编写一组关于用户的声明:

{
    "uid": "myprovider:5764416",
    "displayName": "Grajek",
    "provider": "myprovider"
}

然后您使用您的 Firebase Secret 对该对象进行签名,这确保它只能由也拥有该秘密的人(例如 Firebase 服务器)解码。

这是生成这样一个令牌的 jsfiddle:http://jsfiddle.net/firebase/XDXu5/。小心不要不小心与任何人分享您的 Firebase Secret,因为那是您王国的关键。好吧...至少对于您的 Firebase 后端中的数据。

所以你没有在任何地方指定用户名和密码。相反,您对您的用户提出了一些声明,并使用只有您(应该)知道的值(Firebase 秘密)对其进行签名。

这就像你在说 "I, myprovider, assure you that the following claims are true about this user"。