MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Die rmongodb-Authentifizierung schlägt immer fehl

Sie verwenden wahrscheinlich eine Serverversion von MongoDB 3.0 oder höher ( 3.x-Reihe aktuell beim Schreiben ), die einen aktualisierter Sicherheitsauthentifizierungsmechanismus (SCRAM-SHA-1 von MONGODB-CR), das nicht mit älteren Treiberversionen kompatibel ist, die es nicht unterstützen.

Der aktuelle rmongodb Paketversion (Version 1.8.0 des Schreibens) basiert dieser Treiber auf der Legacy-C-Treiberimplementierung, die nicht mit den neuen Authentifizierungsmethoden kompatibel ist. Wie auch in den Problemen zu diesem Repository erwähnt , weist der Autor auf diese Treiberabhängigkeit hin und gibt an, dass das Paket neu geschrieben werden müsste, um die neue API zu verwenden, die die neue Authentifizierungsmethode unterstützt.

Zum jetzigen Zeitpunkt scheint es keine Schritte zu geben, um solche Änderungen vorzunehmen, abgesehen von der Einrichtung eines neuer Zweig die derzeit noch nicht zur Veröffentlichung bereit ist.

Ihre Optionen sind daher derzeit:

  • Arbeiten Sie möglichst ohne Authentifizierung
  • Führen Sie ein Downgrade der MongoDB-Serverversion auf eine Version durch, die die alte Authentifizierung unterstützt
  • Suchen Sie nach anderen Treiberimplementierungen, die die neue Authentifizierung unterstützen.

Daher kann "rmongodb" selbst derzeit keine Verbindung zu MongoDB 3.x-Servern herstellen. Wenden Sie entweder eine der anderen Möglichkeiten an und/oder tragen Sie selbst zum Repository bei, wenn Sie in der Lage sind, die Entwicklung zur nächsten Version mit vollständiger Authentifizierungsunterstützung zu beschleunigen.

Andere mögliche Treiberalternativen sind in dem in dieser Antwort verlinkten Problem verlinkt oder diskutiert.