我正在制作使用Firebase数据库的Chrome扩展程序。对于他们的自定义身份验证,我需要创建一个JWT令牌以让用户登录。
我在他们的文档中看到它们是使用函数调用在节点中生成这些标记的函数:
var customToken = firebase.auth().createCustomToken(uid);
我的问题是我的Chrome扩展程序不是节点应用程序,因此我无法访问此功能。我从他们的CDN获得了firebase auth API,但是当我尝试使用该功能时,我得到了firebase.auth(...).createCustomToken is not a function
。
我猜创建JWT令牌功能仅适用于node.js firebase用户。有没有办法在没有我的扩展程序作为节点应用程序的情况下仍可以访问此令牌生成器?
我对这个JWT的新手很新,所以我真的只想找到一种简单的方法来生成其中一个令牌。
答案 0 :(得分:1)
创建自定义令牌需要访问Firebase项目的服务帐户。这是服务器端的秘密,永远不应出现在访问项目的客户端中。如果您为客户提供了制作自定义令牌所需的秘密,那么您可以让他们完全访问您的项目。在这种情况下,您也可以不使用身份验证。
典型的方法是根据您应用的需求运行server that mints a custom token,然后use that token in your client(例如Chrome扩展程序)进行登录。
或者,您可以使用其中一种内置身份验证方法,例如email+password,Facebook,Google甚至anonymous sign-in。