2016-04-10 10 views
-1

Ich möchte nur den Benutzernamen und das Passwort eines Benutzers bestätigen, ohne sie einzuloggen, ist das möglich? Ich sah, dass ich die _session-API verwenden konnte, aber das würde Sitzungen auf dem Server erstellen, die ich nicht machen möchte: Ich möchte nur testen, ob ein bestimmtes Benutzername/Passwort-Paar korrekt ist.Gibt es eine couchdb-API, mit der ich das Passwort eines Benutzers validieren kann?

+0

Haben Sie darüber nachgedacht, die Sitzung zu erstellen und sie dann sofort in Ihrem Programm zu löschen? – MadPink

+0

@Greg ja Ich dachte, das zu tun, etwas, was ich getan habe, war nur eine einfache Anfrage mit HTTP-Basis-Authentifizierung zu machen, und wenn ich eine Antwort von 200 bekam dann wusste ich, dass die Anmeldeinformationen korrekt waren. – Jrop

Antwort

1

Sie können einfach Basic Authentication anstelle der Cookie-Authentifizierung (_session-API, wie Sie es beschreiben) verwenden.

0

Ich habe nie versucht, dass ich selbst, aber klingt einfach genug:

  • eine Ansicht erstellen, in dem Sie einen String verketteten von Benutzername verwenden + Passwort als Schlüssel
  • Abfrage der Schlüssel für ein Dokument, das eine hat Zeichenfolge, die Sie erstellt haben, indem Sie den vom Benutzer angegebenen Benutzernamen und das Kennwort als Schlüssel eingegeben haben.
  • Wenn ein Dokument die angegebene Zeichenfolge als Schlüssel enthält, sind die Anmeldeinformationen korrekt.

Hinweise:

  • Bei Bedarf könnte der Benutzer-ID in der gleichen Art und Weise aufgenommen werden
  • Natürlich, werden Sie (oder hoffentlich haben bereits) ein Hash-Passwort, die ein Salz enthält. Offensichtlich muss die gleiche Hashing- und Salting-Strategie zum Erstellen und Abfragen der Ansicht verwendet werden.
+0

Hmm, aber von dem, was ich verstehe, ist das Passwort bereits in Couchdb _user Tabelle Hashed, was bedeutet, dass ich den Hash-Algorithmus von Couchdb passen müsste, die ich denke, wäre nicht so schrecklich. Ich wollte nur sichergehen, dass etwas nicht fehlte – Jrop

Verwandte Themen