【问题标题】:Authentication failure in Heroku CLI after password change更改密码后 Heroku CLI 中的身份验证失败
【发布时间】: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 支持人员回复我。

谢谢

【问题讨论】:

    标签: heroku heroku-toolbelt


    【解决方案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
    

    【讨论】:

    【解决方案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 帐户,并且在我更改其中一个帐户的密码后身份验证开始失败。

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

      1. 从 heroku 帐户中删除了该帐户(无法通过身份验证):

        heroku 帐户:删除帐户名

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

        heroku 帐户:添加 account_name --auto

      您必须在此处使用您的新凭据

      就是这样。问题解决了。

      【讨论】:

        【解决方案6】:

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

        git config --unset heroku.account

        heroku accounts:add personal 然后登录

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-07
          • 2014-09-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多