2012-11-06 9 views
5

मैं अपने रेल आवेदन में वसीयत Omniauth प्रमाणीकरण को लागू किया है सफलतापूर्वक Git OmniAuth: Overviewडेविस Omniauth + (फेसबुक, ट्विटर, गूगल) का उपयोग कर एकाधिक प्रमाणीकरण कैसे पूरा करें?

द्वारा निम्नलिखित ट्यूटोरियल का उपयोग लेकिन यह कई प्रमाणीकरणों का समर्थन नहीं करेंगे, आप सभी जानते हैं कि, और पहले की तरह ही इस मुद्दे को सामना करना पड़ा है, लेकिन हो सकता अगर आप लोगों ने एक ही समस्या को सफलतापूर्वक बदल दिया है तो कृपया मुझे समाधान बताएं।

यह वह परिदृश्य है जिसे मुझे Omniauth + Devise का उपयोग करने की आवश्यकता है।

हमारे पास जॉन नाम का एक उपयोगकर्ता है और उसके पास पहले से ही Google & फेसबुक दोनों में एक ही ईमेल आईडी "[email protected]" के साथ खाते हैं।

तो पहली बार जॉन अपने Google खाते से लॉग इन करने का प्रयास कर रहा है, जॉन ने इस समय सफलतापूर्वक लॉग इन किया है।

लेकिन दूसरी बार जॉन अपने फेसबुक अकाउंट के साथ लॉग-इन करने का प्रयास कर रहा है, इस बार हमारा एप्लिकेशन जॉन को अपने फेसबुक अकाउंट में साइन इन करने के बिना तैयार पंजीकरण_यूआरएल पर रीडायरेक्ट करता है।

मुझे पता है कि यह क्यों हैप्पीनिग क्योंकि ईमानदारी ईमेल की विशिष्टता को आंतरिक रूप से मान्य करेगी। लेकिन मुझे यह जानकर बहुत उत्सुकता है कि, इस मुद्दे को ट्विक करने का कोई तरीका है ताकि हम कई प्रमाणीकरण प्राप्त कर सकें। स्टैक-ओवरफ्लो ने भी बहुत अच्छी तरह से किया है।

कृपया समाधान ढूंढने में मेरी सहायता करें।

धन्यवाद ..

+0

यह सफलतापूर्वक यहाँ उत्तर दिया गया है की कोशिश: http: //stackoverflow.com/questions/21249749/rails-4-devise-omniauth-with-multiple-providers – charlysisto

उत्तर

4

अपने devise.rb फ़ाइल में टिप्पणी इस लाइन इस, कोशिश या ईमेल बदल सकते हैं और उस के लिए अंतर का उपयोग और उसके बाद

# to authenticate or find a user. Default is :email. 
    config.case_insensitive_keys = [ :email ] 
    # modifying a user and when used to authenticate or find a user. Default is :email. 
    config.strip_whitespace_keys = [ :email ] 
+0

यह एकाधिक प्रमाणीकरण को पूरा करने का एकमात्र तरीका है। – Sreehari

+0

एक और तरीका है लेकिन आपको इसके लिए कोडिंग करना है और शर्तों को लिखना है –

संबंधित मुद्दे