Ошибка аутентификации в Heroku CLI после смены пароля

После смены пароля на сайте heroku я не могу получить доступ к API-интерфейсу heroku.

Когда я выполняю 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.

Спасибо


person yoavmatchulsky    schedule 09.04.2014    source источник


Ответы (6)


После смены пароля на сайте heroku я не могу получить доступ к API-интерфейсу heroku.

Вы используете плагин heroku-accounts? Если это так, попробуйте удалить его.

heroku plugins:uninstall heroku-accounts
rm -r ~/.heroku/accounts
heroku logout
heroku login
person Jared Beck    schedule 14.04.2014
comment
Возможно, вам не придется... в heroku cli после смены пароля"> stackoverflow.com/questions/22957664/ - person talyric; 01.05.2014

Судя по всему, при изменении пароля для heroku создается новый ключ API, а я неправильно настроил HEROKU_API_KEY. (Он регенерирует новый после смены пароля).

Я публикую здесь ответ отличной службы поддержки Heroku, которая дала мне следующие предложения:

  • На вашем компьютере есть файл ~/.netrc? Если есть, не могли бы вы проверить, содержит ли файл что-то, связанное с Heroku? Удалите, если он есть, и попробуйте войти снова.
  • На вашем компьютере определена переменная среды HEROKU_API_KEY? Если да, не могли бы вы удалить его и снова войти в систему?
  • Есть ли на вашем компьютере файл ~/.heroku/credentials (с расширением или без него)? Если да, не могли бы вы удалить его и попробовать войти снова?
  • Наконец, если ни один из них не работает, можно попробовать следующую команду: GEM_HOME='' BUNDLE_GEMFILE='' GEM_PATH='' RUBYOPT='' heroku login и посмотреть, что получится?
person yoavmatchulsky    schedule 09.04.2014
comment
++! После прочтения множества материалов о heroku accounts (которого больше не существует, а замена запрашивает учетные данные для создания catch-22) и попыток других действий, которые не помогли, командная строка GEM сделала свое дело. . - person HostileFork says dont trust SE; 12.07.2014
comment
Почему, черт возьми, он их создает, мне непонятно. - person DeepDeadpool; 15.07.2015
comment
Зачем, черт возьми, они нужны, я не понимаю. Вход первый раз? Очевидно, что файлы либо не существуют, либо не настроены для учетной записи. Войти не проблема. Менять пароль после этого? Теперь сервер не согласен с вашими файлами аутентификации, поэтому ввод старого или нового пароля не работает. И в результате моя учетная запись не является более безопасной. Файлы даже не экономят мне время, потому что мне все равно нужно вводить пароль. - person DeepDeadpool; 15.07.2015

Используете ли вы подключаемый модуль 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. :)

person talyric    schedule 01.05.2014

heroku accounts:remove personal или любое другое имя вашей учетной записи

git config --unset heroku.account

heroku accounts:add personal затем войдите

person bcackerman    schedule 11.11.2014

В моем случае у меня было несколько учетных записей heroku, управляемых гемом heroku-accounts, и аутентификация начала давать сбой после того, как я изменил один из паролей моей учетной записи.

Шаги, которые я выполнил, чтобы снова сделать все нормально:

  1. Удалена учетная запись (которая не проходит аутентификацию) из учетных записей heroku:

    аккаунты heroku:удалить имя_аккаунта

  2. Открыл новый терминал, а затем снова добавил аккаунт, который я только что удалил:

    аккаунты heroku:добавить имя_аккаунта --auto

Здесь вы должны использовать свои новые учетные данные.

Вот и все. Задача решена.

person K M Rakibul Islam    schedule 19.06.2014

Попробуйте удалить ~/.netrc (здесь инструмент CLI Heroku сохраняет токены авторизации) и начать заново.

person Yuval Adam    schedule 09.04.2014
comment
Нет, у меня нет файла ~/.netrc. - person yoavmatchulsky; 09.04.2014
comment
Это странно. heroku login успешно с правильным пользователем/паролем? - person Yuval Adam; 09.04.2014
comment
он даже не просил адрес электронной почты/пароль, просто написал Authentication successful. Проблема уже была решена, у меня была определена переменная среды HEROKU_API_KEY, и после того, как я изменил пароль, Heroku автоматически восстановил его. - person yoavmatchulsky; 09.04.2014