如何从命令行 (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 用户登录身份?的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Windows 10 安装 Firebase 工具 cli
如何从命令行向 AWS AppSync 发送 GraphQL 查询?