更改密码后 Heroku CLI 中的身份验证失败
Posted
技术标签:
【中文标题】更改密码后 Heroku CLI 中的身份验证失败【英文标题】:Authentication failure in Heroku CLI after password change 【发布时间】:2014-05-22 08:48:14 【问题描述】:在heroku的网站上更改密码后,我无法访问heroku api。
当我执行heroku login
时,我得到身份验证成功,尽管它不应该是因为密码已更改。它甚至不要求我的电子邮件或密码,就像它应该的那样!
如果我尝试heroku apps
(或任何其他与应用程序相关的命令),我会得到身份验证失败。
如果我尝试heroku status
,它会起作用。
我没有安装任何插件。
日志:
$ heroku version
heroku-gem/3.6.0 (i686-linux) ruby/2.1.0
$ heroku logout
Local credentials cleared.
$ heroku login
Authentication successful.
$ heroku apps
Authentication failure
$ heroku plugins
You have no installed plugins.
如果我能得到任何帮助或想法,我将不胜感激。我已经开票并等待 Heroku 支持人员回复我。
谢谢
【问题讨论】:
【参考方案1】:尝试删除 ~/.netrc
(这是 Heroku CLI 工具保存身份验证令牌的位置)并重新开始。
【讨论】:
不,还没有~/.netrc
文件。
这很奇怪。 heroku login
使用正确的用户/密码成功了吗?
它甚至没有要求电子邮件/通行证,只是写了Authentication successful
。问题已经解决了,我定义了一个环境变量HEROKU_API_KEY,修改密码后Heroku会自动重新生成。【参考方案2】:
显然,更改 heroku 的密码会重新生成一个新的 API 密钥,而我配置了错误的 HEROKU_API_KEY。 (更改密码后会重新生成一个新的)。
我在这里发布了 Heroku 支持团队的回复,他们给了我以下建议:
您的计算机上有~/.netrc
文件吗?如果有,您能否检查该文件是否包含与 Heroku 相关的内容?如果有请删除,然后重新登录。
您的机器上是否定义了HEROKU_API_KEY
环境变量?如果是,您可以删除它并重新登录吗?
您的机器上是否有~/.heroku/credentials
文件(带或不带扩展名)?如果是,您能否将其删除并重新登录?
最后,如果这些都不起作用,可以尝试以下命令:GEM_HOME='' BUNDLE_GEMFILE='' GEM_PATH='' RUBYOPT='' heroku login
看看效果如何?
【讨论】:
++!在阅读了很多关于heroku accounts
(不再存在,并且替换要求创建catch-22的凭据)并尝试其他没有帮助的事情之后,GEM命令行做了诀窍。
为什么它创造了这些我无法理解。
它到底为什么需要这些,我无法理解。第一次登录?文件显然不存在或未配置到帐户。登录没有问题。之后改密码?现在服务器不同意您的身份验证文件,因此输入旧密码或新密码不起作用。结果,我的帐户不再安全。这些文件甚至没有节省我的时间,因为我仍然需要输入密码。【参考方案3】:
在heroku的网站上更改密码后,我无法访问heroku api。
您在使用heroku-accounts
插件吗?如果是这样,请尝试卸载它。
heroku plugins:uninstall heroku-accounts
rm -r ~/.heroku/accounts
heroku logout
heroku login
https://github.com/ddollar/heroku-accounts/issues/56
【讨论】:
您可能不必... ***.com/questions/22957664/…【参考方案4】:你在使用 heroku-accounts 插件吗?如果是这样,请尝试卸载它。
您可能不需要卸载它...
确保您不在项目目录中(否则您可能会遇到“找不到帐户”循环)。
cd
列出您的帐户。
heroku accounts
在更改密码的每个帐户上
heroku accounts:remove ACCOUNT
heroku accounts:add ACCOUNT
(我不需要对~/.ssh/config
做任何事情。)
如果需要,请重置您的默认帐户。
heroku accounts:default ACCOUNT
如果您更改了帐户名或git config --unset heroku.account
。
cd /path/to/your/project
git config --add heroku.account ACCOUNT
我不想放弃 heroku-accounts 插件。 :)
【讨论】:
【参考方案5】:就我而言,我有多个由 heroku-accounts gem 管理的 heroku 帐户,并且在我更改其中一个帐户的密码后身份验证开始失败。
我遵循的让事情恢复正常的步骤:
从 heroku 帐户中删除了该帐户(无法通过身份验证):
heroku 帐户:删除帐户名
打开一个新终端,然后再次添加我刚刚删除的帐户:
heroku 帐户:添加 account_name --auto
您必须在此处使用您的新凭据。
就是这样。问题解决了。
【讨论】:
【参考方案6】:heroku accounts:remove personal
或您拥有的任何帐户名称
git config --unset heroku.account
heroku accounts:add personal
然后登录
【讨论】:
以上是关于更改密码后 Heroku CLI 中的身份验证失败的主要内容,如果未能解决你的问题,请参考以下文章