如何从命令行 (CLI) 更改 Firebase 用户登录身份?

Posted

技术标签:

【中文标题】如何从命令行 (CLI) 更改 Firebase 用户登录身份?【英文标题】:How to change Firebase user login identity from command line (CLI)? 【发布时间】:2016-02-28 05:44:53 【问题描述】:

我正在尝试使用 User-Alice 的登录凭据登录 Firebase。

但是当我完成授权程序时,我收到一条消息说我以 User-Bob 身份登录。 This is not mentioned anywhere in the documentation 也没有解释如何更改我登录的用户。

如何将 Firebase 登录用户从 User-Bob 更改为 User-Alice

谢谢。

【问题讨论】:

【参考方案1】:

更新

获取打印到终端的 URL。

firebase login --reauth

在浏览器中使用该链接与所需的配置文件。


仍在工作,较旧的答案不太方便

处理此问题的最简单方法是注销 User-Alice 并登录 User-Bob。

firebase logout
firebase login

但是,如果您在浏览器中使用 Google 帐户以 User-Alice 身份登录,则需要先退出。

【讨论】:

请给我更多细节。当我尝试这样做时,它会将我重新登录为用户 A。这就是问题的重点。无法指定要登录的用户。生成的密钥以某种方式与不同的用户相关联,我不知道如何更改它。 它会打开浏览器以使用您的 Google 帐户登录吗?还是您通过命令行使用用户名和密码登录? 它会打开一个浏览器并强制我使用 Google 帐户登录。但它说当我以我想要的用户身份登录时,我的凭据未被授权。 CLI 说明中有一个链接,当我在浏览器中复制和粘贴时,它会将我登录为错误的用户。即使我使用的浏览器以我想要的用户身份登录,它仍然注册了错误的用户。 啊,我刚遇到这个。您还需要在浏览器中注销用户。否则,它只会自动让您每次都以该用户身份登录。 答案不正确。 firebase login --reauth 是由@john lee (***.com/a/44981675/10787285) 回答的正确答案【参考方案2】:

使用这个

firebase login --reauth

然后你就可以换账号了

【讨论】:

很好的建议。只是一个注释...这将生成一个 URL。您将其复制并粘贴到浏览器窗口中。它将提示您输入不同的凭据。登录后,CLI 现在正在使用该帐户。 我遇到了同样的问题,按照您的建议工作。谢谢一百万。【参考方案3】:

注销和登录命令

firebase logout
firebase login

更多命令请参考此链接

https://www.npmjs.com/package/firebase-tools

【讨论】:

【参考方案4】:

在最近发布的 Firebase CLI (9.9.0) 中,通过新命令支持多个帐户:

登录:使用 登录:添加 登录名:列表

参考:https://github.com/firebase/firebase-tools/tree/v9.9.0

所以我用 firebase login:add 添加了一个新帐户,然后切换到新添加的帐户 use firebase login:use

【讨论】:

这应该是最佳答案,谢谢男人节省了我的时间【参考方案5】:

您可以通过此命令获取令牌字符串。

firebase login:ci

然后将其设置为FIREBASE_TOKEN env。

您可以保留任意数量的令牌,并由 dotenv 等工具自动设置。

【讨论】:

正常的注销然后登录方法会导致网页弹出进行身份验证,然后是安全警告电子邮件(也会发送到任何关联的帐户),然后是手机上的安全警告。这种方法消除了所有这些,因此切换变得轻而易举。【参考方案6】:

这里有一些解决方案:

firebase logout
firebase login

或者,

firebase login --reauth

【讨论】:

【参考方案7】:

首先,您当前登录的 Google 帐户必须在您的默认浏览器中包含'User Alice'(userAlice@gmail.com)。 当你 firebase logout 然后 Firebase 会说

$ firebase logout
Logged out form 'userBob@gmail.com'

firebase login,Firebase 将打开浏览器并获得确认(允许或拒绝)。当您接受/允许时,您可以在终端中看到以下内容。

$ firebase login
Allow Firebase to collect anonymous CLI usage information? Yes

Visit this URL on any device to log in:
https://accounts.google.com/o/oauth2/auth?client_id=....

Waiting for authentication...

Success! Logged in as 'userAlice@gmail.com'

【讨论】:

【参考方案8】:

您必须在(使用)您的主要浏览器(例如,Safari)中退出 Google 帐户。并以正确的用户身份登录到同一浏览器。尝试登录辅助浏览器(例如 Opera 或 Chrome)将不起作用。它需要与 Firebase CLI 在点击 firebase login 后自动打开的浏览器相同。辅助浏览器将被忽略。

【讨论】:

【参考方案9】:

如果您有不同的 Google 帐户 - 我建议您在 Google Chrome 中使用不同的浏览器 user profiles

在您输入 firebase login 之前,请确保您激活具有所需 user profile 的相应浏览器窗口。

这样您在切换帐户时就不必再次输入密码了。

【讨论】:

【参考方案10】:

2021 年,尝试(在 Windows Powershell 中):

firebase login:ci --interactive

它将生成一个令牌,您将在后续说明中设置该令牌。即初始化,

firebase init --token "secret-token"

【讨论】:

以上是关于如何从命令行 (CLI) 更改 Firebase 用户登录身份?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 PHP Cli 版本

无法使用 Windows 10 安装 Firebase 工具 cli

如何从命令行向 AWS AppSync 发送 GraphQL 查询?

如何在 Ubuntu 14.04 上更改 php-cli 版本?

如何使用cli命令在gcp中更改项目

Flask 0.11 CLI 开发服务器——指定主机?