Qualcuno sa se è possibile per me cambiare una password in couchdb 1.2? Per creare un utente Ho una forma che ottiene le informazioni di un utente e quindi i messaggi al database _users come questo ('utenti' nella URL di seguito viene proxy):Cambia password in couchdb 1.2 tramite l'api?
// Create a user
var userObj = {
_id: "org.couchdb.user:test",
type: "user",
name: "test",
roles: ["user"],
emailAddress: "[email protected]",
firstName: "Test",
lastName: "Test",
password: "password"
};
$.ajax({
url: "https://stackoverflow.com/users/org.couchdb.user:test",
type: "PUT",
dataType: "json",
contentType:"application/json",
data: JSON.stringify(userObj)
});
CouchDB 1.2 genera l'hash della password e sale per me e memorizza l'utente. Funziona alla grande. Per aggiornare la password, ho provato a recuperare l'utente, eliminando i campi password_sha e salt, aggiungendo un campo password e quindi ripubblicando il documento. Speravo che Couch ricalcoli i campi password_sha e salt per me e aggiorni il documento, ma non lo fa. I campi password_sha e salt non sono aggiornati.
// Update a user
$.get("https://stackoverflow.com/users/org.couchdb.user:test")
.done(function(userDoc){
delete userDoc.password_sha;
delete userDoc.salt
userDoc.password = "test";
$.ajax({
url: "https://stackoverflow.com/users/org.couchdb.user:test",
type: "PUT",
dataType: "json",
contentType:"application/json",
data: userDoc
});
});
Sospetto che il divano genererà solo i campi password_sha e sali quando viene creato il documento. In tal caso, dovrei semplicemente generare i miei campi password_sha e salt e postarli invece nel documento aggiornato? Mi sto perdendo qualcosa qui?
Grazie!
Non importa. Stavo cercando di aggiornare una stringa JSON ... doh! È sufficiente analizzare userDoc, aggiungere una password e inviare nuovamente. – Troy
Fantastico! Potresti rispondere alla tua stessa domanda con quel commento ("aggiungi un valore per la password e invia nuovamente") e segna la risposta corretta. Questo potrebbe essere molto utile ad altre persone che cercano questo in futuro. Grazie! – JasonSmith
@Troy Si prega di inviare il tuo commento come una risposta alla tua stessa domanda in modo da poter accettare e farla fuori dalla lista delle domande senza risposta. Grazie. –