Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

OmniAuth-Twitter के साथ Rails में ट्विटर लॉगिन एकीकृत करें: चरण-दर-चरण मार्गदर्शिका

इस ट्यूटोरियल में, आप सीखेंगे कि अपने एप्लिकेशन के उपयोगकर्ताओं को उनके ट्विटर खाते का उपयोग करके लॉग इन करने की अनुमति कैसे दें। OAuth जैसे टूल के साथ ऐसा करना आसान हो गया है।

आप OmniAuth-Twitter का उपयोग करेंगे, जिसमें OmniAuth के लिए ट्विटर रणनीति शामिल है।

चलिए शुरू करते हैं!

शुरुआत करना

अपना Rails एप्लिकेशन जनरेट करके शुरू करें। अपने टर्मिनल से, ऐसा करने के लिए कमांड चलाएं:

अपना Gemfile खोलें और बूटस्ट्रैप जेम जोड़ें।

कमांड चलाकर जेम इंस्टॉल करें:

app/assets/stylesheets/application.css का नाम बदलकर app/assets/stylesheets/application.scss करें।

जब हो जाए, तो बूटस्ट्रैप आयात करने के लिए निम्न कोड लाइनें जोड़ें।

_navigation.html.erb नामक एक पार्शियल बनाएं जो आपके नेविगेशन कोड को रखेगा; पार्शियल app/views/layouts निर्देशिका में स्थित होना चाहिए।

नीचे दिए गए कोड को एक IDE में दर्ज करें। यह आपके एप्लिकेशन के लिए नेविगेशन बार बनाने के लिए बूटस्ट्रैप का उपयोग करता है।

नेविगेशन का उपयोग करने के लिए, आपको इसे अपने एप्लिकेशन लेआउट में रेंडर करना होगा। अपने एप्लिकेशन लेआउट को नीचे दिए गए जैसा बनाएं।

नीचे दिए गए कमांड को अपने टर्मिनल में दर्ज करके इंडेक्स एक्शन के साथ एक PagesController जनरेट करें।

जनरेट किए गए इंडेक्स व्यू में, इसे नीचे दिए गए जैसा दिखने के लिए संपादित करें।

उपरोक्त कोड में, हम jumbotron नामक एक क्लास का उपयोग करते हैं—यह एक बूटस्ट्रैप घटक है जो हमें मार्केटिंग संदेश को प्रदर्शित करने के लिए व्यूपोर्ट को विस्तारित करने की अनुमति देता है। आप इसके बारे में बूटस्ट्रैप दस्तावेज़ीकरण से अधिक जान सकते हैं।

अपना रूट्स फ़ाइल खोलें ताकि आप अपना root_path जोड़ सकें।

OmniAuth-Twitter सेट करना

आपको एक नया ट्विटर एप्लिकेशन बनाना होगा। एक बनाने के लिए ट्विटर डेवलपर पेज पर इस पेज पर जाएं। स्क्रीनशॉट में मेरे जैसा सभी आवश्यक विवरण दर्ज करें।

OmniAuth-Twitter के साथ Rails में ट्विटर लॉगिन एकीकृत करें: चरण-दर-चरण मार्गदर्शिका OmniAuth-Twitter के साथ Rails में ट्विटर लॉगिन एकीकृत करें: चरण-दर-चरण मार्गदर्शिका OmniAuth-Twitter के साथ Rails में ट्विटर लॉगिन एकीकृत करें: चरण-दर-चरण मार्गदर्शिका

कॉलबैक URL के लिए, अपना वेबसाइट पता प्लस "auth/twitter/callback" दर्ज करें। यदि आप स्थानीय मशीन पर हैं, तो आपका कॉलबैक URL यह होना चाहिए: https://127.0.0.1:3000/auth/twitter/callback।

आपको ट्विटर पर ऐप के सूचना पृष्ठ पर रीडायरेक्ट किया जाएगा। Keys and Access Tokens टैब पर जाएं अपनी कुंजी प्राप्त करने के लिए। Consumer Key और Consumer Secret को कॉपी करें और उन्हें एक सुरक्षित स्थान पर पेस्ट करें—हम जल्द ही उनका उपयोग करेंगे।

कॉलबैक URL वह URL है जहां सफल प्रमाणीकरण और अनुमोदित प्राधिकरण के बाद उपयोगकर्ता को ऐप के अंदर रीडायरेक्ट किया जाएगा (अनुरोध में उपयोगकर्ता का डेटा और टोकन भी होगा)। सभी OmniAuth रणनीतियां कॉलबैक URL की अपेक्षा करती हैं जो "/auth/:provider/callback" के बराबर हो। :provider रणनीति का नाम लेता है। इस मामले में, रणनीति "twitter" होगी जैसा कि आप इनिशियलाइज़र में सूचीबद्ध करेंगे।

OmniAuth-Twitter जेम जोड़ने के लिए अपना Gemfile खोलें।

अब अपने config/initializers निर्देशिका में OmniAuth के लिए एक इनिशियलाइज़र बनाएं। यह OmniAuth के लिए कॉन्फ़िगरेशन रखेगा। इसे नीचे दिए गए जैसा बनाएं।

इस बिंदु पर आपको उन कुंजियों और एक्सेस टोकन का उपयोग करने की आवश्यकता होगी जिन्हें आपने सुरक्षित रूप से संग्रहीत किया था। आपको इन्हें सुरक्षित रखने की आवश्यकता है क्योंकि आप नहीं चाहते कि जब आप अपना कोड कमिट करें तो वे एक सार्वजनिक रिपॉजिटरी में पुश हों।

आप इसके लिए एक जेम का उपयोग करेंगे। अपना Gemfile फिर से खोलें और नीचे दिए गए जेम को जोड़ें। इसे अपने Gemfile में इस तरह जोड़ें:

जेम इंस्टॉल करने के लिए चलाएं।

अपने एप्लिकेशन की होम निर्देशिका में, .env नामक एक फ़ाइल बनाएं।

इसे खोलें और अपनी कुंजी और टोकन इस तरह जोड़ें:

.gitignore खोलें और आपके द्वारा बनाई गई फ़ाइल को जोड़ें।

इसके साथ, आपकी कुंजी और एक्सेस टोकन सुरक्षित हैं! dotenv-rails का उपयोग कैसे करें, इस बारे में अधिक जानने के लिए, GitHub पेज देखें।

अपने रूट पर काम करने का समय। अपना रूट्स फ़ाइल खोलें और नीचे दिया गया रूट जोड़ें।

आपको अपने नेविगेशन में ट्विटर साइन-इन का लिंक जोड़ना होगा। अपना नेविगेशन फ़ाइल खोलें और इसे नीचे दिए गए जैसा बनाएं।

उपरोक्त से, आप ट्विटर से लॉग इन करने का लिंक केवल तभी दिखाना चाहते हैं जब उपयोगकर्ता साइन इन न हो।

सत्र बनाना

उपयोगकर्ताओं के लॉग इन को संभालने के लिए आपको एक सत्र कंट्रोलर की आवश्यकता होगी। अपने कंट्रोलर निर्देशिका में इसके लिए एक फ़ाइल बनाएं; यह इस तरह दिखना चाहिए।

क्रिएट एक्शन उपयोगकर्ताओं के लिए एक सत्र बनाने में मदद करता है ताकि वे आपके एप्लिकेशन में लॉग इन हो सकें। इसके बिना, उपयोगकर्ताओं के पास लॉग इन करने का कोई साधन नहीं है।

इस बिंदु पर आपको एक current_user विधि की आवश्यकता होगी। यह आपको जांचने में मदद करेगा कि कोई उपयोगकर्ता लॉग इन है या आउट।

app/controllers/application_controller.rb खोलें और निम्न जोड़ें।

उपयोगकर्ता मॉडल

अब अपने उपयोगकर्ताओं के लिए एक मॉडल जनरेट करें। ऐसा करने के लिए कमांड चलाएं।

यह एक माइग्रेशन फ़ाइल जनरेट करेगा जो इस तरह दिखती है।

अब निम्न चलाकर अपना डेटाबेस माइग्रेट करें:

अपना User मॉडल खोलें और इसे इस तरह बनाएं:

उपरोक्त कोड उपयोगकर्ता से संबंधित कुछ जानकारी संग्रहीत करता है। इसमें उपयोगकर्ता का नाम, profile_image, टोकन और सीक्रेट शामिल हैं। यदि आपके एप्लिकेशन को इससे अधिक की आवश्यकता है, तो आप OmniAuth-Twitter पेज देख सकते हैं।

सत्र हटाना

अपने एप्लिकेशन में, आप उपयोगकर्ताओं को लॉग आउट करने की क्षमता प्रदान करना चाहते हैं। इसके लिए आपको अपने SessionsController में एक destroy एक्शन की आवश्यकता होगी। फिर एक लिंक आपके नेविगेशन में जोड़ा जाएगा।

destroy एक्शन को अपने SessionsController में जोड़ें।

फिर लॉग आउट करने के लिए इस लिंक को अपने नेविगेशन में जोड़ें, ताकि आपका नेविगेशन इस तरह दिखे।

अपना config/routes.rb खोलें ताकि आपके द्वारा अभी बनाए गए एक्शन के साथ अपने रूट अपडेट कर सकें।

अपना रेल्स सर्वर शुरू करें और यह देखने के लिए अपने ब्राउज़र को https://localhost:3000 पर इंगित करें कि आपके पास क्या है।

निष्कर्ष

इस ट्यूटोरियल में आपने सीखा कि अपने Rails एप्लिकेशन में OmniAuth-Twitter को कैसे सक्षम करें। आपने देखा कि OmniAuth-Twitter का उपयोग करके उपयोगकर्ताओं का डेटा कैसे प्राप्त करें, जिसे आपने अपने User मॉडल में किया। आप SessionControllers बनाने में सक्षम थे जो आपके एप्लिकेशन से उपयोगकर्ताओं के लॉग इन और आउट को संभालते हैं।

मुझे आशा है कि आपको यह पसंद आया। भविष्य में, आप देखेंगे कि फेसबुक, गूगल और लिंक्डइन के लिए भी ऐसा ही कैसे करें।

  1. रूबी मैट्रिक्स को समझना: परिभाषा, अनुप्रयोग और उन्हें कैसे बनाएं रूबी मैट्रिक्स को समझना: परिभाषा, अनुप्रयोग और उन्हें कैसे बनाएं

    मैट्रिक्स एक 2D (2-डायमेंशनल) ऐरे है जिसका उपयोग स्प्रेडशीट जैसे डेटा को स्टोर और काम करने के लिए किया जा सकता है। इनका उपयोग किया जा सकता है: टेबल गेम में बोर्ड को दर्शाना (शतरंज, चेकर्स, आदि) आंकड़े और डेटा विश्लेषण प्लॉट्स और ग्राफ़ उत्पन्न करना क्योंकि यह एक शक्तिशाली डेटा संरचना है इसलिए इसका

  1. रूबी स्ट्रक्ट्स और OpenStruct में महारत: कुशल वैल्यू ऑब्जेक्ट्स रूबी स्ट्रक्ट्स और OpenStruct में महारत: कुशल वैल्यू ऑब्जेक्ट्स

    रूबी में स्ट्रक्ट क्या है? एक स्ट्रक्ट एक बिल्ट-इन रूबी क्लास है, इसका उपयोग वैल्यू ऑब्जेक्ट्स उत्पन्न करने वाली नई क्लासेस बनाने के लिए किया जाता है। एक वैल्यू ऑब्जेक्ट संबंधित विशेषताओं को एक साथ संग्रहीत करने के लिए उपयोग किया जाता है। यहां एक उदाहरण है: दो निर्देशांकों (x और y) के साथ एक Point।

  1. एंड्रॉइड पर गूगल नाउ ऑन टैप में महारत हासिल करें: चरण-दर-चरण गाइड एंड्रॉइड पर गूगल नाउ ऑन टैप में महारत हासिल करें: चरण-दर-चरण गाइड

    जब तकनीक नवीनतम अपग्रेड के साथ आपके जीवन को सरल बनाने का लक्ष्य रखती है, तो उनके बारे में सीखकर और कुशलतापूर्वक उनका उपयोग करके उनका अधिकतम लाभ क्यों न उठाया जाए? हाल ही में, गूगल ने अपने एप्लिकेशन में गूगल नाउ नामक एक नई सुविधा जोड़ी और इसे गूगल नाउ ऑन टैप नाम से लॉन्च किया। यह एक सुविधा है, जिसमे