अपनी वेबसाइट या ऐप में Posty5 से लॉगिन कैसे जोड़ें

लोगों को अपने Posty5 खाते से आपकी साइट में साइन इन करने दें, ठीक वैसे ही जैसे Google से - OpenID Connect, सहमति स्क्रीन और Node.js व Angular के लिए तैयार पैकेज।

ADविज्ञापन
अपनी वेबसाइट या ऐप में Posty5 से लॉगिन कैसे जोड़ें

हर नया साइन-अप फ़ॉर्म लोगों से एक और पासवर्ड माँगता है, और आपके द्वारा सहेजा गया हर पासवर्ड एक और ज़िम्मेदारी है जिसकी आपको सुरक्षा करनी होती है। Login with Posty5 लोगों को उसी Posty5 खाते से आपकी वेबसाइट या ऐप में साइन इन करने देता है जो उनके पास पहले से है, ठीक वैसे ही जैसे वे Sign in with Google चुनते हैं।

यह लेख बताता है कि आपके उपयोगकर्ता क्या देखते हैं, डेवलपर के रूप में आपको क्या मिलता है, और इसे जोड़ने के चार चरण क्या हैं। यह Posty5 डेवलपर प्लेटफ़ॉर्म का हिस्सा है, जिसका वर्णन API कुंजी और SDK गाइड में है।

Login with Posty5 क्या है

Posty5 अब एक OAuth 2.0 और OpenID Connect प्रोवाइडर है। आप अपना ऐप Posty5 Studio में रजिस्टर करते हैं, उपयोगकर्ताओं को साइन इन के लिए Posty5 पर भेजते हैं, और बदले में एक हस्ताक्षरित ID टोकन पाते हैं जो आपके सर्वर को बताता है कि वे कौन हैं। आपकी साइट उनका Posty5 पासवर्ड कभी नहीं देखती।

चूँकि यह मानक का पालन करता है, यह Node.js और Angular के लिए Posty5 पैकेजों के साथ और किसी भी प्रमाणित OpenID Connect लाइब्रेरी के साथ काम करता है - ASP.NET Core, Python, PHP या Java। ऐप रजिस्टर करने और उपयोगकर्ताओं को साइन इन कराने में कोई क्रेडिट खर्च नहीं होता, हर प्लान पर।

आपके उपयोगकर्ता क्या देखते हैं

  • आपके साइन-इन पेज पर Login with Posty5 या Continue with Posty5 बटन।
  • अगर वे अभी साइन इन नहीं हैं तो Posty5 का अपना साइन-इन पेज - पासवर्ड केवल posty5.com पर ही टाइप होता है।
  • एक सहमति स्क्रीन जिसमें आपके ऐप का नाम, लोगो, वेबसाइट, गोपनीयता नीति और शर्तें होती हैं, आपके द्वारा माँगे गए हर डेटा के लिए एक पंक्ति, और Allow व Cancel बटन।
  • उनकी पसंद याद रखी जाती है: अगला साइन इन सीधे हो जाता है। वे कभी भी खाता, फिर Connected apps में जाकर आपके ऐप की पहुँच हटा सकते हैं।

उपयोगकर्ता की ओर से पूरी प्रक्रिया Login with Posty5 क्या है, और क्या मेरा डेटा सुरक्षित है? में समझाई गई है, जिसे आप अपने साइन-इन पेज से लिंक कर सकते हैं।

डेवलपर के रूप में आपको क्या मिलता है

  • मानक OpenID Connect - हर साइन इन पर अनिवार्य PKCE के साथ authorization code flow, और एक discovery दस्तावेज़ जिससे ज़्यादातर लाइब्रेरी खुद को कॉन्फ़िगर कर लेती हैं।
  • हस्ताक्षरित ID टोकन (RS256) जिनमें उपयोगकर्ता का नाम, तस्वीर, ईमेल और ईमेल सत्यापित है या नहीं, यह जानकारी होती है - केवल उन scopes के लिए जिनकी उपयोगकर्ता ने अनुमति दी।
  • आपके ऐप के लिए एक निजी उपयोगकर्ता ID। sub आपके ऐप के लिए स्थिर रहता है और दूसरे डेवलपरों के ऐप में अलग होता है, इसलिए ऐप आपस में उपयोगकर्ताओं का मिलान नहीं कर सकते।
  • Node.js बैक एंड के लिए @posty5/oauth, जिसके हस्ताक्षरित लॉगिन लिंक को किसी session store की ज़रूरत नहीं होती, और @posty5/oauth-angular, Angular के लिए एक कस्टमाइज़ करने योग्य Continue with Posty5 बटन।
  • केवल फ़्रंट-एंड वाले ऐप के लिए ब्राउज़र साइन-इन - हर ऐप के लिए अलग से चालू होता है, और केवल उन्हीं वेबसाइट origins से स्वीकार होता है जिन्हें आप सूचीबद्ध करते हैं।
  • Posty5 Studio में हर ऐप के लिए एक Users टैब, और ऐप में जोड़ी गई एक API कुंजी जो यही सूची आपके सर्वर से पढ़ती है।

चार चरणों में जोड़ें

  1. Posty5 Studio में Developers Kit खोलें, फिर OAuth apps, और Register app चुनें। वह नाम, लोगो और लिंक डालें जो उपयोगकर्ता देखेंगे, और अपना callback पता redirect URI के रूप में दें।
  2. client ID और client secret को अपने सर्वर के कॉन्फ़िगरेशन में कॉपी करें। secret केवल एक बार दिखाया जाता है; आप इसे बाद में बदल (rotate) सकते हैं।
  3. @posty5/oauth इंस्टॉल करें और दो routes जोड़ें - एक जो लॉगिन लिंक बनाकर उपयोगकर्ता को Posty5 पर भेजे, और आपका callback, जो परिणाम की पुष्टि करे।
  4. अपने साइन-इन पेज पर Login with Posty5 बटन लगाएँ, एक बार खुद साइन इन करके देखें, और अपने उपयोगकर्ता रिकॉर्ड को मिलने वाले sub से जोड़ें।
const link = await posty5.createLoginLink({ returnTo: "/account" });
res.cookie("p5_binding", link.binding, { httpOnly: true, secure: true, sameSite: "lax" });
res.redirect(link.url);

// on your redirect URI
const { claims, returnTo } = await posty5.handleLoginCallback(req.query, { binding: req.cookies.p5_binding });

लॉगिन लिंक PKCE verifier, nonce और आपका वापसी पता एक सील किए गए state के अंदर रखता है, इसलिए दोनों अनुरोधों के बीच आपके सर्वर को कुछ भी सहेजना नहीं पड़ता, और एक cookie लिंक को उसी ब्राउज़र से बाँधती है जिसने उसे माँगा था।

अपना पहला OAuth ऐप रजिस्टर करें

Posty5 Studio में ऐप बनाएँ, उसकी credentials कॉपी करें, और अपनी साइट पर एक साइन इन आज़माकर देखें।

इंटीग्रेशन का तरीका चुनें

  • Node.js बैक एंड वाली वेबसाइट - @posty5/oauth इस्तेमाल करें। client secret आपके सर्वर पर ही रहता है।
  • Angular ऐप - @posty5/oauth-angular का बटन इस्तेमाल करें और साइन इन आपके बैक एंड को चलाने दें। देखें Angular में Continue with Posty5 बटन कैसे जोड़ें।
  • बिना बैक एंड वाला स्टैटिक ऐप - ऐप के लिए ब्राउज़र साइन-इन चालू करें, अपनी साइट के origins सूचीबद्ध करें, और Angular पैकेज का browser मोड या PKCE सपोर्ट करने वाला कोई भी OpenID Connect क्लाइंट इस्तेमाल करें।
  • कोई भी दूसरी भाषा - अपनी OpenID Connect लाइब्रेरी को अपने client ID और secret के साथ https://api.posty5.com की ओर इंगित करें।

शुरू करने से पहले जानने योग्य सीमाएँ

  • कोई refresh token नहीं हैं। access token 1 घंटे तक चलता है, इसलिए साइन इन के बाद अपना खुद का session रखें।
  • साइलेंट साइन-इन (prompt=none) उपलब्ध नहीं है। आप prompt=login या max_age से नए सिरे से साइन इन अनिवार्य कर सकते हैं।
  • Login with Posty5 केवल पहचान साझा करता है - नाम, तस्वीर और ईमेल। यह आपके ऐप को उपयोगकर्ता की Posty5 सामग्री तक पहुँच नहीं देता।
  • एक खाता अधिकतम 20 OAuth ऐप रजिस्टर कर सकता है, और हर ऐप में अधिकतम 10 सटीक redirect URI हो सकते हैं।

अक्सर पूछे जाने वाले सवाल

क्या Login with Posty5 में क्रेडिट खर्च होते हैं?

नहीं। OAuth ऐप रजिस्टर करने और उपयोगकर्ताओं को साइन इन कराने में कोई क्रेडिट खर्च नहीं होता, हर प्लान पर।

मेरे ऐप को कौन-सा डेटा मिल सकता है?

केवल वही जिसकी उपयोगकर्ता अनुमति दे: आपके ऐप के लिए एक उपयोगकर्ता ID हमेशा, profile scope के साथ नाम और प्रोफ़ाइल तस्वीर, और email scope के साथ ईमेल पता और वह सत्यापित है या नहीं।

क्या मैं इसे बिना बैक एंड के इस्तेमाल कर सकता हूँ?

हाँ। ऐप के लिए ब्राउज़र साइन-इन चालू करें और अपनी साइट के origins सूचीबद्ध करें। तब ब्राउज़र PKCE के साथ और बिना client secret के code का आदान-प्रदान करता है। अगर आपके पास बैक एंड है, तो साइन इन के लिए वही बेहतर जगह है।

मेरे दूसरे ऐप में उपयोगकर्ता ID अलग क्यों है?

sub pairwise होता है: यह हर ऐप के पहले redirect URI के host पर निर्भर करता है, इसलिए अलग-अलग डेवलपरों के ऐप उपयोगकर्ताओं का मिलान नहीं कर सकते। एक ही host से रजिस्टर किए गए ऐप को एक ही मान मिलता है।

क्या मैं देख सकता हूँ कि मेरे ऐप में किसने साइन इन किया?

हाँ। Posty5 Studio में हर ऐप का एक Users टैब है, और ऐप में जोड़ी गई API कुंजी यही सूची आपके सर्वर से पढ़ती है, जिसमें केवल वही होता है जो हर उपयोगकर्ता ने साझा किया।

जब कोई उपयोगकर्ता पहुँच हटा देता है तो क्या होता है?

उस उपयोगकर्ता के लिए आपके access token काम करना बंद कर देते हैं, उपयोगकर्ता आपकी Users सूची से हट जाता है, और उसके अगले साइन इन पर सहमति स्क्रीन फिर से दिखती है। आपकी साइट पर उसका खाता प्रभावित नहीं होता।

ADविज्ञापन