2011-11-18 11 views
7

के साथ खाता बनाने के बाद पासवर्ड सेट करें Omniauth के माध्यम से खाता बनाने के बाद मैं उपयोगकर्ताओं को पासवर्ड कैसे सेट कर सकता हूं? Omniauth पंजीकरण के दौरान एक स्टब पासवर्ड बनाता है, लेकिन उपयोगकर्ता नहीं जानता कि वह पासवर्ड क्या है, इसलिए इसे संपादन उपयोगकर्ता पृष्ठ से नहीं बदला जा सकता है।Omniauth (Rails + Devise)

मैंने यहां निर्देशों के साथ संपादन फ़ॉर्म को ओवरराइड करने का प्रयास किया: How To: Allow users to edit their account without providing a password। मैं डीबी में एन्क्रिप्टेड पासवर्ड को बदलने में सक्षम था, लेकिन नए पासवर्ड से लॉग इन नहीं कर सकता, और अजीब रूप से पर्याप्त, लॉग इन विफलता के दौरान मुझे कंसोल में कोई त्रुटि नहीं दिखाई दे रही है।

कोई विचार?

मैं रेल 3.0.7 और डेविस 1.4.8 का उपयोग कर रहा हूं। मेरा साइन-इन/साइन-अप कोड मानक Omniauth+Devise ट्यूटोरियल पर आधारित है।

उत्तर

0

Omniauth केवल आपको दूरस्थ उपयोगकर्ता पर जानकारी प्रदान करता है, इस गारंटी के साथ कि यह उपयोगकर्ता प्रदाता से जुड़ा हुआ है।

  • कि जानकारी के साथ एक उपयोगकर्ता बनाते हैं, और कि डिफ़ॉल्ट विधि के साथ निर्दिष्ट नहीं हैं क्षेत्रों की स्थापना की (जो आप पासवर्ड के लिए क्या किया)
  • उस जानकारी का उपयोग वसीयत पूर्व-भरण प्रपत्र साइन अप करने के: आप तो तीन विकल्प हैं (self.new_with_session जैसा कि आपके ट्यूटोरियल में वर्णित है) और उपयोगकर्ताओं को अपना खाता स्वयं बनाते हैं, गुम फ़ील्ड (जैसे पासवर्ड) भरना
  • किसी सत्र (या कुकी) में सर्वव्यापी जानकारी संग्रहीत करें, अपने उपयोगकर्ता को एक फॉर्म में रीडायरेक्ट करें गायब फ़ील्ड, और अपना नया उपयोगकर्ता बनाने के लिए दोनों फॉर्म जानकारी और सत्र जानकारी का उपयोग करें।
संबंधित मुद्दे