OAuth सोशल लॉगिन कैसे सेट करें
यह मार्गदर्शिका आपको सामाजिक लॉगिन कॉन्फ़िगर करने के बारे में बताती है ताकि ग्राहक अपने Google, Facebook, Apple, X, या Discord खातों का उपयोग करके क्लाइंट पीसी में साइन इन कर सकें। HandyCafe डिवाइस प्राधिकरण अनुदान प्रवाह (RFC 8628) का उपयोग करता है, जो पूर्ण ब्राउज़र के बिना उपकरणों के लिए डिज़ाइन किया गया है। प्रमाणित करने के लिए ग्राहक अपने फोन से एक क्यूआर कोड स्कैन करते हैं।
आपको क्या आवश्यकता होगी
- HandyCafe सर्वर तक व्यवस्थापक पहुंच।
- एक Google क्लाउड कंसोल खाता (Google OAuth के लिए) या अन्य प्रदाताओं के लिए समकक्ष डेवलपर पोर्टल एक्सेस।
- HandyCafe सर्वर आपके नेटवर्क पर चल रहा है और पहुंच योग्य है।
- लॉगिन प्रवाह का परीक्षण करने के लिए कम से कम एक कनेक्टेड क्लाइंट पीसी।
HandyCafe में OAuth डिवाइस फ़्लो कैसे काम करता है
सेटअप में उतरने से पहले, यहां प्रवाह का सारांश दिया गया है:
- निष्क्रिय क्लाइंट पीसी पर एक ग्राहक सामाजिक लॉगिन बटन पर क्लिक करता है (उदाहरण के लिए, "Google के साथ साइन इन करें")।
- क्लाइंट सर्वर को OAuth प्रारंभ अनुरोध भेजता है।
- सर्वर प्रदाता के डिवाइस प्राधिकरण समापन बिंदु से संपर्क करता है और एक डिवाइस कोड, एक उपयोगकर्ता कोड और एक सत्यापन यूआरएल प्राप्त करता है।
- क्लाइंट निष्क्रिय स्क्रीन पर एक क्यूआर कोड और उपयोगकर्ता कोड प्रदर्शित करता है।
- ग्राहक अपने फोन से क्यूआर कोड को स्कैन करता है और प्रदाता के साथ प्रमाणित करता है।
- प्रमाणीकरण पूरा होने तक सर्वर प्रदाता को मतदान करता है।
- सर्वर एक OAuth लॉगिन अनुरोध बनाता है जो अनुरोध पृष्ठ पर दिखाई देता है।
- एक व्यवस्थापक या कैशियर अनुरोध को मंजूरी देता है।
- एक नया सदस्य खाता बनाया जाता है (या मौजूदा खाता लिंक किया जाता है) और ग्राहक लॉग इन किया जाता है।
Google OAuth कैसे सेट करें
Google सबसे अधिक उपयोग किया जाने वाला प्रदाता है। यह अनुभाग Google क्लाउड प्रोजेक्ट बनाने से लेकर पहले लॉगिन के परीक्षण तक हर चरण को कवर करता है।
भाग ए: Google क्लाउड क्रेडेंशियल बनाएं
- अपने ब्राउज़र में Google क्लाउड कंसोल को https://console.cloud.google.com पर खोलें।
- एक नया प्रोजेक्ट बनाएं या किसी मौजूदा का चयन करें। इसे "HandyCafe OAuth" जैसा कुछ पहचानने योग्य नाम दें।
- एपीआई और सेवाएँ > OAuth सहमति स्क्रीन पर नेविगेट करें।
- उपयोगकर्ता प्रकार के रूप में बाहरी चुनें (जब तक कि आपके पास Google कार्यस्थान संगठन न हो और आप केवल आंतरिक ही चाहते हों)।
- आवश्यक फ़ील्ड भरें: ऐप का नाम ("आपका कैफे नाम"), उपयोगकर्ता सहायता ईमेल, और डेवलपर संपर्क ईमेल।
- स्कोप और टेस्ट उपयोगकर्ता अनुभाग के माध्यम से सहेजें और जारी रखें पर क्लिक करें। आपको विशेष दायरे जोड़ने की आवश्यकता नहीं है. डिफ़ॉल्ट ईमेल और प्रोफ़ाइल स्कोप पर्याप्त हैं.
- एपीआई और सेवाएँ > क्रेडेंशियल्स पर नेविगेट करें।
- क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी पर क्लिक करें।
- एप्लिकेशन प्रकार के लिए, टीवी और सीमित इनपुट डिवाइस चुनें। यह महत्वपूर्ण है. HandyCafe डिवाइस प्राधिकरण अनुदान प्रवाह का उपयोग करता है, जिसके लिए इस विशिष्ट क्लाइंट प्रकार की आवश्यकता होती है।
- क्लाइंट के लिए एक नाम दर्ज करें (उदाहरण के लिए, "हैंडीकैफे डिवाइस फ्लो")।
- बनाएँ पर क्लिक करें।
- पुष्टिकरण संवाद से क्लाइंट आईडी और क्लाइंट सीक्रेट को कॉपी करें। उन्हें सुरक्षित रूप से संग्रहित करें. आपको अगले भाग में दोनों मानों की आवश्यकता होगी।
भाग बी: हैंडीकैफे सर्वर कॉन्फ़िगर करें
- HandyCafe सर्वर एप्लिकेशन खोलें।
- बाएं साइडबार में गियर आइकन का उपयोग करके सेटिंग्स पर नेविगेट करें।
- OAuth टैब चुनें.
- पृष्ठ के शीर्ष पर OAuth टॉगल सक्षम करें। यह विश्व स्तर पर सभी क्लाइंट पीसी पर सामाजिक लॉगिन को सक्षम बनाता है।
- प्रदाताओं की सूची में Google प्रदाता पंक्ति का पता लगाएँ।
- इस प्रदाता को सक्रिय करने के लिए Google टॉगल सक्षम करें।
- चरण 12 से अपनी क्लाइंट आईडी को क्लाइंट आईडी फ़ील्ड में चिपकाएँ।
- चरण 12 से अपना क्लाइंट सीक्रेट क्लाइंट सीक्रेट फ़ील्ड में पेस्ट करें।
- कॉन्फ़िगरेशन लागू करने के लिए सहेजें पर क्लिक करें।
अपेक्षित परिणाम: OAuth टैब आपके क्रेडेंशियल भरने के साथ Google को सक्षम दिखाता है। सेटिंग्स सभी कनेक्टेड क्लाइंट्स को भेज दी जाती हैं।
भाग सी: लॉगिन प्रवाह का परीक्षण करें
- कनेक्टेड क्लाइंट पीसी पर जाएं। निष्क्रिय स्क्रीन को अब Google लॉगिन बटन के साथ एक सामाजिक लॉगिन अनुभाग दिखाना चाहिए।
- क्लाइंट निष्क्रिय स्क्रीन पर Google लॉगिन बटन पर क्लिक करें।
- क्लाइंट एक क्यूआर कोड और एक उपयोगकर्ता कोड (एक छोटी अल्फ़ान्यूमेरिक स्ट्रिंग) प्रदर्शित करता है।
- अपने फोन से क्यूआर कोड को स्कैन करें। यह Google का डिवाइस सत्यापन पृष्ठ खोलता है।
- Google खाते से साइन इन करें और संकेत मिलने पर उपयोगकर्ता कोड दर्ज करें।
- आवेदन को अधिकृत करें.
अपेक्षित परिणाम: सर्वर पर, एक अधिसूचना ध्वनि बजती है और अनुरोध पृष्ठ पर एक नई प्रविष्टि दिखाई देती है। अनुरोध Google खाते का नाम, ईमेल पता और क्लाइंट पीसी दिखाता है जिसने लॉगिन शुरू किया था।
लॉगिन अनुरोध को कैसे स्वीकृत करें
प्रत्येक OAuth लॉगिन एक अनुरोध उत्पन्न करता है जिसे ग्राहक तक पहुंच प्राप्त करने से पहले व्यवस्थापक या कैशियर द्वारा अनुमोदित किया जाना चाहिए।
- जब कोई लॉगिन अनुरोध आता है, तो सर्वर पर एक अधिसूचना ध्वनि बजती है और साइडबार में अनुरोध पृष्ठ आइकन पर एक बैज दिखाई देता है।
- अनुरोध पृष्ठ पर जाएँ।
- लंबित अनुरोध दिखाता है:
- प्रदाता का नाम (जैसे, Google)।
- प्रदाता से प्रदर्शन नाम (उदाहरण के लिए, "जॉन स्मिथ")।
- ईमेल पता (उदाहरण के लिए, "john@example.com")।
- क्लाइंट पीसी जिसने अनुरोध शुरू किया (होस्टनाम या डिस्प्ले नाम)।
- टाइमस्टैम्प।
- अनुरोध विवरण की समीक्षा करें. सत्यापित करें कि क्लाइंट पीसी पर मौजूद व्यक्ति खाते की जानकारी से मेल खाता है।
- अनुरोध स्वीकार करने के लिए स्वीकृत करें पर क्लिक करें।
अपेक्षित परिणाम: यदि कोई मौजूदा सदस्य खाता इस OAuth पहचान से जुड़ा नहीं है, तो एक नया सदस्य खाता स्वचालित रूप से बनाया जाता है। प्रदाता के प्रदर्शन नाम और ईमेल का उपयोग किया जाता है। ग्राहक लॉग इन होता है और क्लाइंट पीसी निष्क्रिय स्क्रीन से ऑनलाइन पेज पर स्थानांतरित हो जाता है। यदि कोई सदस्य खाता पहले इस OAuth पहचान से जुड़ा हुआ था, तो मौजूदा सदस्य सीधे लॉग इन होता है।
टिप: यदि लॉगिन अनुरोध संदिग्ध है (उदाहरण के लिए, पीसी पर ध्यान नहीं दिया गया है या अनुरोध स्वचालित दिखता है), तो इसके बजाय अस्वीकार करें पर क्लिक करें। ग्राहक को "प्रवेश निषेध" संदेश दिखाई देगा और वह पुनः प्रयास कर सकता है।
फेसबुक OAuth कैसे सेट करें
- फेसबुक डेवलपर पोर्टल https://developers.facebook.com . पर खोलें
- एक नया ऐप बनाएं. उपभोक्ता ऐप प्रकार चुनें।
- ऐप के सेटिंग्स > बेसिक पेज पर नेविगेट करें। ऐप आईडी और ऐप सीक्रेट नोट करें।
- उत्पाद जोड़ें पर नेविगेट करें और डिवाइस के लिए फेसबुक लॉगिन जोड़ें।
- डिवाइस सेटिंग्स के लिए फेसबुक लॉगिन में, यदि पोर्टल द्वारा आवश्यक हो तो अपना रीडायरेक्ट यूआरआई जोड़ें।
- HandyCafe सर्वर खोलें और Settings > OAuth पर जाएँ।
- Facebook प्रदाता पंक्ति का पता लगाएँ।
- फेसबुक टॉगल सक्षम करें।
- ऐप आईडी को क्लाइंट आईडी फ़ील्ड में पेस्ट करें।
- ऐप सीक्रेट को क्लाइंट सीक्रेट फ़ील्ड में पेस्ट करें।
- सहेजें पर क्लिक करें।
अपेक्षित परिणाम: फेसबुक एक सक्षम प्रदाता के रूप में प्रकट होता है। क्लाइंट निष्क्रिय स्क्रीन किसी अन्य सक्षम प्रदाता के साथ एक फेसबुक लॉगिन बटन दिखाती है।
डिसॉर्डर OAuth कैसे सेट करें
- डिस्कॉर्ड डेवलपर पोर्टल को https://discord.com/developers/applications . पर खोलें
- एक नया एप्लिकेशन बनाएं. इसका नाम अपने कैफे के नाम पर रखें।
- बाएँ साइडबार में OAuth2 अनुभाग पर जाएँ।
- क्लाइंट आईडी को कॉपी करें और एक क्लाइंट सीक्रेट जेनरेट करें। रहस्य को सुरक्षित रूप से संग्रहीत करें क्योंकि डिस्कॉर्ड इसे केवल एक बार दिखाता है।
- HandyCafe सर्वर खोलें और Settings > OAuth पर जाएँ।
- डिस्कॉर्ड प्रदाता पंक्ति का पता लगाएं (यह डिफ़ॉल्ट रूप से अक्षम है)।
- डिस्कॉर्ड टॉगल सक्षम करें।
- क्लाइंट आईडी को क्लाइंट आईडी फ़ील्ड में चिपकाएँ।
- क्लाइंट सीक्रेट को क्लाइंट सीक्रेट फ़ील्ड में चिपकाएँ।
- सहेजें पर क्लिक करें।
अपेक्षित परिणाम: डिस्कॉर्ड अब क्लाइंट निष्क्रिय स्क्रीन पर लॉगिन विकल्प के रूप में उपलब्ध है।
बिना क्रेडिट के लॉगिन की अनुमति कैसे दें
डिफ़ॉल्ट रूप से, HandyCafe OAuth-प्रमाणीकृत ग्राहकों को लॉग इन करने की अनुमति देता है, भले ही उनके पास कोई वॉलेट बैलेंस या टाइम क्रेडिट न हो। आप इस व्यवहार को बदल सकते हैं.
- सेटिंग्स > OAuth पर नेविगेट करें।
- बिना क्रेडिट के लॉगिन की अनुमति दें टॉगल का पता लगाएं।
- यदि सक्षम (डिफ़ॉल्ट) है, तो OAuth के माध्यम से प्रमाणित करने वाले ग्राहक अपनी शेष राशि की परवाह किए बिना लॉग इन कर सकते हैं। एक कैशियर उनके लिए पोस्टपेड सत्र शुरू कर सकता है।
- यदि अक्षम है, तो ग्राहकों के पास लॉग इन करने के लिए या तो वॉलेट बैलेंस या टाइम क्रेडिट होना चाहिए। शून्य बैलेंस वाले ग्राहकों को एक संदेश दिखाई देगा जिसमें उन्हें टॉप अप करने के लिए कैशियर के पास जाने के लिए कहा जाएगा।
- टॉगल बदलने के बाद सेव पर क्लिक करें।
अपेक्षित परिणाम: नए लॉगिन अनुरोधों के लिए व्यवहार तुरंत प्रभावी होता है। मौजूदा सत्र प्रभावित नहीं होंगे.
किसी OAuth पहचान को मौजूदा सदस्य से कैसे लिंक करें
यदि किसी ग्राहक के पास पहले से ही एक सदस्य खाता है (कैशियर द्वारा मैन्युअल रूप से बनाया गया है) और फिर पहली बार OAuth के माध्यम से लॉग इन करता है, तो अनुमोदन प्रक्रिया OAuth पहचान को उनके मौजूदा खाते से लिंक कर सकती है।
- जब OAuth लॉगिन अनुरोध अनुरोध पृष्ठ पर आता है, तो जांचें कि ईमेल किसी मौजूदा सदस्य से मेल खाता है या नहीं।
- यदि सिस्टम किसी मिलान का पता लगाता है, तो अनुमोदन संवाद एक नया खाता बनाने के बजाय OAuth पहचान को मौजूदा सदस्य से जोड़ने की पेशकश करेगा।
- चयनित लिंक विकल्प के साथ अनुरोध को स्वीकृत करें।
अपेक्षित परिणाम: मौजूदा सदस्य खाते को एक OAuth लिंक प्राप्त होता है। इस प्रदाता से भविष्य के लॉगिन अनुमोदन चरण को बायपास कर देंगे और सदस्य को सीधे (पहली मंजूरी के बाद) लॉग इन करेंगे।
सामान्य गलतियों से बचना चाहिए
- Google क्लाउड कंसोल में गलत OAuth क्लाइंट प्रकार का उपयोग करना। OAuth क्लाइंट आईडी बनाते समय आपको "टीवी और सीमित इनपुट डिवाइस" का चयन करना होगा। यदि आप "वेब एप्लिकेशन" या "डेस्कटॉप ऐप" चुनते हैं, तो डिवाइस प्राधिकरण प्रवाह काम नहीं करेगा और क्लाइंट डिवाइस कोड प्राप्त करने में विफल रहेगा।
- वैश्विक OAuth टॉगल को सक्षम करना भूल जाना। व्यक्तिगत प्रदाताओं को सक्षम करना पर्याप्त नहीं है। OAuth सेटिंग पृष्ठ के शीर्ष पर मास्टर OAuth टॉगल भी चालू होना चाहिए।
- लॉगिन अनुरोधों को मंजूरी नहीं दी जा रही है। OAuth लॉगिन के लिए सर्वर से स्पष्ट अनुमोदन की आवश्यकता होती है। यदि कोई अनुरोध पृष्ठ की निगरानी नहीं करता है, तो ग्राहक निष्क्रिय स्क्रीन पर अनिश्चित काल तक प्रतीक्षा करेंगे। व्यस्त घंटों के दौरान अनुरोधों की निगरानी के लिए एक कैशियर नियुक्त करने पर विचार करें।
- डिवाइस कोड को समाप्त होने देना। डिवाइस कोड का जीवनकाल सीमित होता है (आमतौर पर 5-10 मिनट)। यदि ग्राहक को क्यूआर कोड को स्कैन करने और प्रमाणित करने में बहुत अधिक समय लगता है, तो कोड समाप्त हो जाता है और उन्हें फिर से शुरू करना होगा। ग्राहकों को तुरंत स्कैन करने की सलाह दें।
- अतिरिक्त खाली स्थान के साथ क्रेडेंशियल चिपकाना। प्रदाता कंसोल से क्लाइंट आईडी या क्लाइंट सीक्रेट की प्रतिलिपि बनाते समय, सुनिश्चित करें कि कोई अग्रणी या पिछला स्थान शामिल नहीं है। अतिरिक्त रिक्त स्थान प्रमाणीकरण विफलताओं का कारण बनेगा।
- Google OAuth ऐप प्रकाशित करना भूल गए। "परीक्षण" मोड में Google ऐप्स केवल सीमित संख्या में परीक्षण उपयोगकर्ताओं को अनुमति देते हैं। किसी भी ग्राहक को लॉग इन करने की अनुमति देने के लिए, आपको OAuth सहमति स्क्रीन पेज के माध्यम से ऐप प्रकाशित करना होगा और सभी आवश्यक सत्यापन चरणों को पूरा करना होगा।
- क्लाइंट आईडी और क्लाइंट सीक्रेट को मिलाना। ये दो अलग-अलग मान हैं। क्लाइंट आईडी सार्वजनिक-सामना करने योग्य है. क्लाइंट सीक्रेट को गोपनीय रखा जाना चाहिए। उन्हें स्वैप करने से प्रमाणीकरण विफलता हो जाएगी.
- कैफ़े का नाम कॉन्फ़िगर नहीं किया जा रहा है। आपकी HandyCafe सेटिंग से कैफ़े का नाम OAuth प्रवाह के दौरान क्लाइंट निष्क्रिय स्क्रीन पर प्रदर्शित होता है। खाली या डिफ़ॉल्ट नाम अव्यवसायिक दिखता है. OAuth सक्षम करने से पहले सेटिंग > सामान्य में अपने कैफ़े का नाम सेट करें।