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?
-1
A
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
Haben Sie darüber nachgedacht, die Sitzung zu erstellen und sie dann sofort in Ihrem Programm zu löschen? – MadPink
@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