【发布时间】:2019-09-07 01:18:29
【问题描述】:
我正在使用 Firebase 构建 Node.js 命令行界面 (CLI) 用于与后端的身份验证。我想避免让用户在每次运行命令时都输入密码。相反,我想实现一个“登录”流程,将凭证保存到文件系统中,该凭证可用于后续的无密码身份验证,直到用户“注销”。
基本上我正在寻找的是firebase JavaScript SDK's“身份验证状态持久性”功能。不幸的是,Node.js 不支持该功能;使用'local' 或'session' 调用setPersistence,因为模式会引发错误“当前环境不支持指定的持久性类型。”
“我自己”实现该功能的最简单方法是什么?
我研究了 SDK 如何将用户持久保存在浏览器中,基本上它将用户对象字符串化并将其存储在本地存储中。我可以在 Node.js 中轻松地自己对用户对象进行字符串化(该实例有一个 toJSON 方法),但我不知道如何稍后将字符串反序列化为 firebase.User 的实例。我看到this function in the source code 看起来可以解决问题。但这并没有在 SDK AFAIK 上对外公开。
【问题讨论】:
-
命令行界面 (CLI) 位于机器本地。 CLI 通常称为终端。因此,命令行不适用于最终用户 - 它适用于管理员。对吗?
-
@RonRoyston 这是一个供最终用户使用的 CLI,而不是管理员。我想实现的功能类似于
npm login,如果你曾经使用过的话。
标签: node.js firebase firebase-authentication