2012-04-20 16 views
5

क्या किसी को पता है कि मेरे लिए couchdb 1.2 में पासवर्ड बदलना संभव है? करने के लिए एक उपयोगकर्ता बना मैं एक रूप है कि (यूआरएल नीचे प्रॉक्सी में 'उन') उपयोगकर्ता के जानकारी और उसके बाद इस तरह _users डेटाबेस के लिए पदों हो जाता है:एपीआई के माध्यम से couchdb 1.2 में पासवर्ड बदलें?

// 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 पासवर्ड हैश उत्पन्न करता है और मेरे लिए नमक और उपयोगकर्ता को स्टोर करता है। यह बहुत अच्छा काम करता है। पासवर्ड अपडेट करने के लिए, मैंने उपयोगकर्ता को पुनर्प्राप्त करने, पासवर्ड_शा और नमक फ़ील्ड हटाने, पासवर्ड फ़ील्ड जोड़ने और फिर दस्तावेज़ को दोबारा पोस्ट करने का प्रयास किया। मैं उम्मीद कर रहा था कि सोफे सिर्फ मेरे लिए पासवर्ड_शा और नमक फ़ील्ड का पुनर्मूल्यांकन करेगा और दस्तावेज़ अपडेट करेगा, लेकिन ऐसा नहीं है। पासवर्ड_शा और नमक फ़ील्ड अपडेट नहीं होते हैं।

// 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 
    }); 
}); 

मुझे संदेह है कि दस्तावेज़ बनाए जाने पर सोफे केवल पासवर्ड_शा और नमक फ़ील्ड उत्पन्न करेगा। यदि ऐसा है, तो क्या मुझे अपना पासवर्ड_शा और नमक फ़ील्ड जेनरेट करना चाहिए और इसके बजाय अपडेट किए गए दस्तावेज़ में पोस्ट करना चाहिए? क्या मुझसे कोई चूक हो रही है?

धन्यवाद!

+1

कोई बात नहीं। मैं एक JSON स्ट्रिंग को अपडेट करने का प्रयास कर रहा था ... दोह! बस उपयोगकर्ता डॉक को पार्स करने, पासवर्ड जोड़ने और पुनः सबमिट करने की आवश्यकता है। – Troy

+1

बहुत बढ़िया! क्या आप कृपया उस टिप्पणी के साथ अपने स्वयं के प्रश्न का उत्तर दें ("बस एक पासवर्ड मान जोड़ें और पुनः सबमिट करें") और उत्तर को सही चिह्नित करें। यह भविष्य में अन्य लोगों के लिए खोज करने के लिए बहुत उपयोगी हो सकता है। धन्यवाद! – JasonSmith

+0

@Troy कृपया अपनी टिप्पणी को अपने प्रश्न के उत्तर के रूप में पोस्ट करें ताकि आप इसे स्वीकार कर सकें और अनुत्तरित प्रश्न सूची से इसे प्राप्त कर सकें। धन्यवाद। –

उत्तर

2

कोई बात नहीं। मैं एक JSON स्ट्रिंग को अपडेट करने का प्रयास कर रहा था ... दोह! बस उपयोगकर्ता डॉक को पार्स करने, पासवर्ड जोड़ने, और फिर पुनः सबमिट करने की आवश्यकता है।