2016-04-18 9 views
0

Ich habe eine Scala spielen reaktive Mongo-Anwendung in Heroku eingerichtet. Mongo wird von mlab in heroku zur Verfügung gestellt. Wenn du ein kleines Problem mit Mongo über die App hast, funktioniert die Verbindung durch die Shell mit den gleichen Zugangsdaten einwandfrei. Ich benutze scala play 2.5.1 und reaktive 0.11.11 und mongod ist 3.0.8. Ich denke, all diese Versionen arbeiten zusammen, aber ich erhalte einen Authentifizierungsfehler beim Start:Kann mit MongoDB in Heroku durch Mongo Shell verbinden, aber nicht Anwendung

2016-04-18T06:59:54.357736+00:00 app[web.1]: [info] application - ReactiveMongoApi starting... 
2016-04-18T06:59:54.586309+00:00 app[web.1]: [info] application - ReactiveMongoApi successfully configured with DB 'heroku_0pps6l5f'! Servers: 
2016-04-18T06:59:54.586332+00:00 app[web.1]:  [ds051635.mlab.com:51635] 
2016-04-18T06:59:55.1:00 heroku[router]: at=info method=POST path="XXXXX" host=YYYYYY request_id=ec31a3df-88a1-4dc4-b195-5d39280db41b fwd="90.200.12.189" dyno=web.1 connect=0ms service=2382ms status=200 bytes=137 
2016-04-18T06:59:56.01:00 app[web.1]: [error] r.c.a.MongoDBSystem - authentication failure 
2016-04-18T06:59:56.010133+00:00 app[web.1]: reactivemongo.core.commands.FailedAuthentication: BSONCommandError['auth failed'] with original doc { 
2016-04-18T06:59:56.010134+00:00 app[web.1]: ok: BSONDouble(0.0), 
2016-04-18T06:59:56.010135+00:00 app[web.1]: errmsg: "auth failed", 
2016-04-18T06:59:56.010135+00:00 app[web.1]: code: BSONInteger(18) 
2016-04-18T06:59:56.010136+00:00 app[web.1]: } 

Bei nachfolgenden Einsätzen Ich habe nicht einen Fehler, aber nichts wird tatsächlich eingefügt.
Auf Wiedergewinnungen erhalten wir folgende Fehler:

2016-04-18T07:05:56.742757+00:00 app[web.1]: Caused by: java.lang.RuntimeException: (,List(ValidationError(List('n' is undefined on object: {"ok":0,"errmsg":"not authorized on heroku_0pps6l5f to execute command { count: \"sightings\" }","code":13}),WrappedArray()))) 

Antwort

4

ReactiveMongo verwendet mongodb-CR Authentifizierung standardmäßig für die Abwärtskompatibilität Zweck (dies ist für 0,12 geändert werden soll).

Wenn Sie eine neue MongoDB 3.x verwenden, ist die SCRAM-SHA1-Authentifizierung erforderlich. Stellen Sie also sicher, option is enable with ReactiveMongo: authMode=scram-sha1 (in der Verbindung URI).

+0

Prost! Ich dachte, es hätte etwas mit der SCRAM-Authentifizierung zu tun, konnte es aber nicht genau lokalisieren – user1584120