Heroku не может подтвердить подлинность mongolab - PullRequest
4 голосов
/ 08 октября 2011

Это было исправлено два дня назад.И вчера я внес некоторые изменения в heroku, и приложение упало, я обнаружил из heroku logs, что:

/app/.bundle/gems/ruby/1.9.1/gems/mongo-1.4.0/lib/mongo/db.rb:137:in `issue_authentication': Failed to authenticate user 'larryzhao' on db 'uthenera' (Mongo::AuthenticationError)

Я даже явно ввел имя хоста / порта / имени пользователя / пароля / базы данных в mongoid.yml,Тем не менее, он не мог пройти проверку подлинности.

Я пробовал обе базы данных в Rackspace и в Amazon, но ни одна из них не могла пройти проверку подлинности.

Вы уже встречались с этим раньше?Могу ли я еще что-нибудь проверить на Heroku, кроме heroku logs?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 02 октября 2015

Сегодня я столкнулся с тем же на Heroku:

Mongo::AuthenticationError: Failed to authenticate user 'heroku_app111' on db 'heroku_app111'.
        from /home/ad/.rvm/gems/ruby-2.1.3@app/gems/mongo-1.11.1/lib/mongo/functional/authentication.rb:205:in `issue_authentication'

Это не из-за этой ошибки RUBY-890 , а из-за того, что MongoLab обновлен до MongoDB 3.0, в котором используется SCRAM-Механизм аутентификации пользователя SHA-1 вызов-ответ.Так что мне нужна была последняя версия драйвера ruby ​​ mongo , которая рассчитывает на это.В моем случае последняя ветка 1.x.

Минимальные версии драйверов, поддерживающие SCRAM-SHA-1:

Driver     Language Version
C          1.1.0
C++        1.0.0
C#         1.10
Java       2.13
Node.js    1.4.29
Perl       0.708.0.0
PHP        1.6
Python     2.8
Motor      0.4
Ruby       1.12
Scala      2.8.0

Конечно, вы должны убедиться, что ваши учетные данные в порядке:)

3 голосов
/ 08 октября 2011

Убедитесь, что вы используете правильное имя пользователя для подключения к вашей базе данных. Имя пользователя, которое вы используете для входа в mongolab.com, отличается от имени пользователя, прикрепленного к базе данных «uthenera». Взгляните на вкладку «Пользователи» для этой базы данных на mongolab.com, чтобы узнать, каких пользователей базы данных вы настроили.

Надеюсь, это поможет. Не стесняйтесь по электронной почте support@mongolab.com, если вам нужна дополнительная помощь.

-Роберт

0 голосов
/ 02 декабря 2016

Вы можете получить имя пользователя и пароль для своей базы данных, используя:

heroku config | grep MONGODB_URI

Ответ в следующем формате:

MONGOLAB_URI: mongodb://username:password@mlab.com:12345/db

...