क्या आप इसका कुछ उदाहरण उदाहरण सुझा सकते हैं? मैंने एथलॉगिक और डेविस को सफलतापूर्वक सफलता की कोशिश की।ओपनआईडी, ट्विटर या फेसबुक के साथ रेल 3 प्रमाणीकरण
उत्तर
अद्यतन - जून 2011 - मैं हाल ही में omniauth gem उपयोग किया गया है और मुझे लगता है कि यह जवाहरात इस में सुझाव का उपयोग करने से एक बेहतर समाधान है जवाब। यह डेविस के साथ अच्छी तरह से काम करता है और आपको एक मणि में जो कुछ भी चाहिए वह आपको देगा। मैंने एक इंजन बनाया जो डेविस और ओमनीउथ को जोड़ता है और कॉलबैक को संभालने के लिए एक नियंत्रक जोड़ता है। मैं मणि लिए योजना बनाई काफी कुछ परिवर्तन किया है और अभी मैं इसे एक स्थिर प्लगइन पर विचार नहीं करते हैं, लेकिन आप मणि में कोड के कुछ पुन: उपयोग करने में सक्षम हो सकता है: https://github.com/charlotte-ruby/devise_omniauth_engine/blob/master/app/controllers/users/omniauth_callbacks_controller.rb
मैं हाल ही में यह मिल गया रेल 3 पर काम करना (ओपनआईडी का उपयोग कर कुछ समस्याओं के साथ)। मेरे पास एक पूर्ण कामकाजी उदाहरण नहीं है जिसे आप जिथब पर देख सकते हैं, लेकिन यहां मैं जो उपयोग कर रहा हूं ... जिनमें से सभी को रीडेमे फाइलों में उदाहरण हैं।
फेसबुक - fbgraph। फेसबुकर के विपरीत, यह सबसे हालिया फेसबुक एपीआई का उपयोग करता है। और यदि आप आंतरिक कार्यकलापों को देखने की तरह महसूस करते हैं तो स्रोत को समझना बहुत आसान है। रीडेमे में प्रमाणीकरण उदाहरण देखें। मृत सरल
ट्विटर - twitter_oauth फिर, रीडेमे प्रमाणीकरण उदाहरण देखें। यह भी स्थापित करने के लिए काफी आसान था।
OpenID - rails/open_id_authentication माणिक openid मणि का उपयोग करता है, लेकिन इस रेपो ही है, एक रत्न नहीं है तो आप अपने एप्लिकेशन में कोड ड्रॉप या अपने प्लगइन निर्देशिका में डाल करने के लिए होगा। रीडमे में उनके उदाहरण पर एक नज़र डालें और यह समझने के लिए स्रोत का निरीक्षण करें कि क्या हो रहा है (कोड की इसकी केवल 130 पंक्तियां)। मैंने इसे अपनी प्रमाणीकरण प्लगइन के साथ काम करने के लिए एक अच्छा सा संशोधित किया, लेकिन मैं एक ही समय में सरल पंजीकरण और विशेषता एक्सचेंज दोनों के साथ काम करने में कुछ समस्याएं चला रहा था ... लेकिन आप इसे काम करने में सक्षम हो सकते हैं बॉक्स के बाहर यदि rdoc उदाहरण आपके ऐप के लिए उपयुक्त है।
यदि आपको इन पर कोई विशिष्ट प्रश्न है तो मुझे बताएं। मैं कुछ समस्याओं में भाग गया जब मैं इसे स्थापित करने के दौरान सभी 3 के साथ हल करने में सक्षम था।
वाइज़न वार्डन पर बनाया गया है, जो सही Google शब्द है। खोज 'वार्डन openid', 'वार्डन OAuth' (ट्विटर) और http://github.com/britt/facebook-warden-strategy फेसबुक
के लिएऑथलोगिक में ओपनआईडी एक्सटेंशन है।
इसके अलावा, इस मदद मिल सकती है: http://www.michaelhamrah.com/blog/2009/05/authlogic-and-openid-on-rails/
मैं काम कर रहा open_id_authentication प्राप्त करने के लिए (असफल) की कोशिश कर रहा एक सप्ताह के बारे में बिताया। मैं एथलॉगिक और सभी संबंधित रत्नों और प्लगइन्स का उपयोग करने की कोशिश कर रहा था। मैं जिस तरह से काम करना चाहता था काम नहीं कर सका। (प्रमाणीकरण केवल कार्य के साथ काम करेगा: क्रिया (/: आईडी) मार्ग सक्षम है, लेकिन जब यह सक्षम किया गया था, तो मेरे अन्य नियंत्रक काम नहीं करेंगे क्योंकि प्लगइन में कुछ पैराम हैश को अलग कर रहा था - बहुत निराशाजनक)।
हालांकि, मैं अंततः डेविस (http://github.com/plataformatec/devise) और devise_openid_authenticatable (http://github.com/nbudin/devise_openid_authenticatable) का उपयोग करके ओपनआईडी काम करने में सक्षम था। मैं सब कुछ ठीक तरह से काम करने के लिए दोनों पृष्ठों पर रीडमी का पालन करने में सक्षम था जैसा कि मैं चाहता था। सरल। सीधे आगे और रेल 3.0 संगत।
हाँ, मुझे या तो काम करने के लिए open_id_authentication नहीं मिल सका। अब तैयार करना चाहते हैं। – iJK
यदि आप फेसबुकर 2 का उपयोग करने जा रहे हैं, तो आपको अपने रेल फ्रेमवर्क को 3.0 पर अपग्रेड करना होगा। ऐया गेम्स सिर्फ खेल फैनस्वार्म (फेसबुक पर) के लिए प्रक्रिया के माध्यम से चला गया। यह कोई आसान काम नहीं है, लेकिन ब्लॉग पोस्ट आपको कुछ अंतर्दृष्टि दे सकता है।
http://www.ayeahgames.com/blog/bid/55099/The-Horror-Upgrading-to-Rails-3
उत्तर के लिए धन्यवाद। क्या आप उनके साथ किसी भी सामान्य प्रमाणीकरण प्लगइन (जैसे ऑथलॉगिक, डिवाइज, रेस्टफुल_ प्रमाणीकरण) का उपयोग कर रहे हैं, या आपने अपना खुद का 'मानक प्रमाणीकरण' समाधान बनाया है? –
मैंने अभी अपना खुद का सरल लेख प्लगइन बनाया है। मुझे वास्तव में उन सभी सुविधाओं की आवश्यकता नहीं है जो तैयार और औथोग्लिक ऑफ़र हैं। मैंने दोनों के लिए स्रोत देखा और कुछ चीजें चुनी जिन्हें मैंने अपनी भूमिका और औथ समाधान में उपयोग करना पसंद किया। जबकि मुझे पहिया को फिर से शुरू करना पसंद नहीं है, मैं हमेशा इसे और अधिक सीखता हूं जब मैं इसे स्वयं कोड करता हूं (अन्य समाधानों से प्रेरणा खींचते समय)। इसके अलावा अगर मुझे इसे विस्तारित करने की ज़रूरत है, तो मुझे इसे समझने के लिए सप्ताह में अन्य लोगों के स्रोत के माध्यम से खोदना नहीं है। मैं एफबी/ट्विटर/ओपनआईडी सामान को रेल इंजन में बदलने पर काम कर रहा हूं। अगर मैं इसे अगले कुछ दिनों में प्राप्त करता हूं तो मैं इसे यहां पोस्ट करूंगा। – johnmcaliley
यह उत्कृष्ट होगा, धन्यवाद :) –