密码更改后Heroku CLI中的身份验证失败

时间:2014-04-09 09:03:34

标签: heroku heroku-toolbelt

在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支持回到我身边。

由于

6 个答案:

答案 0 :(得分:17)

  

在heroku的网站上更改密码后,我无法访问heroku api。

您使用的是heroku-accounts插件吗?如果是这样,请尝试卸载它。

heroku plugins:uninstall heroku-accounts
rm -r ~/.heroku/accounts
heroku logout
heroku login

答案 1 :(得分:11)

显然,更改heroku的密码会重新生成一个新的API密钥,并且我配置了错误的 HEROKU_API_KEY 。 (它在密码更改后重新生成一个。)

我在这里发布了Heroku支持团队的回复,该团队给了我这些建议:

  • 您的计算机上是否有~/.netrc个文件?如果有,请你检查文件是否包含Heroku相关的东西?如果有,请删除,然后再次尝试登录。
  • 您的计算机上是否定义了HEROKU_API_KEY环境变量?如果是,您可以将其删除并重新登录吗?
  • 您的计算机上是否有~/.heroku/credentials个文件(有或没有扩展名)?如果是,您可以将其删除并再次尝试登录吗?
  • 最后,如果这些都不起作用,可以尝试以下命令:GEM_HOME='' BUNDLE_GEMFILE='' GEM_PATH='' RUBYOPT='' heroku login,看看它是怎么回事?

答案 2 :(得分:5)

  

您使用的是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插件。 :)

答案 3 :(得分:2)

在我的情况下,我有heroku-accounts个gem管理的多个heroku帐户,在我更改了我的一个帐户密码后,身份验证开始失败。

我遵循的步骤让事情再次恢复正常:

  1. 从heroku帐户中删除了帐户(无法进行身份验证):

    heroku帐户:删除account_name

  2. 打开新终端,然后再次添加我刚刚删除的帐户:

    heroku帐户:添加account_name --auto

  3. 您必须使用新凭据

    那就是它。问题解决了。

答案 4 :(得分:2)

heroku accounts:remove personal或您拥有的任何帐户名称

git config --unset heroku.account

heroku accounts:add personal然后登录

答案 5 :(得分:0)

尝试删除~/.netrc(这是Heroku CLI工具保存身份验证令牌的地方)并重新开始。