Auth0 के साथ साइन इन करने के लिए Next.js SDK

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

Auth0 के साथ साइन इन करने के लिए Next.js SDK

अपने Next.js ऐप्लिकेशन में साइन इन करने के लिए Auth0 SDK.

नोट: यह पुस्तकालय वर्तमान में एक प्रयोगात्मक स्थिति में है और समर्थन सर्वोत्तम प्रयास है। इस एसडीके के नए उपयोगकर्ताओं को इसके साथ शुरू करना चाहिए बीटा .

इंस्टालेशन

का उपयोग करते हुए NPM :

|_+_|

का उपयोग करते हुए धागा :



|_+_|

ध्यान दें कि यह पैकेज Node.js के निम्नलिखित संस्करणों का समर्थन करता है: |_+_|

शुरू करना

Auth0 कॉन्फ़िगरेशन

बनाओ नियमित वेब अनुप्रयोग में Auth0 डैशबोर्ड . यदि आप किसी मौजूदा एप्लिकेशन का उपयोग कर रहे हैं, तो आप यह सत्यापित करना चाहेंगे कि निम्न सेटिंग्स निम्नानुसार कॉन्फ़िगर की गई हैं:

    Json वेब टोकन सिग्नेचर एल्गोरिथम: |_+_|ओआईडीसी आज्ञाकारी: |_+_|

आगे बढ़ें और अपने आवेदन के लिए URL कॉन्फ़िगर करें:

    अनुमत कॉलबैक URL: आपको अपने लॉगिन पृष्ठ में भी परिवर्तन करने की आवश्यकता हो सकती है .

    लॉग इन करें

    उपयोगकर्ता में साइन इन करने के लिए हमें पहले लॉगिन मार्ग के लिंक की आवश्यकता होगी।

    बीजाणु कहां से खरीदें
    |_+_|

    बनाओ एपीआई मार्ग इस मार्ग के लिए (|_+_|) जो क्लाइंट का उपयोग करता है:

    |_+_|

    नोट: यह मार्ग प्रदान करने का समर्थन करता है |_+_| क्वेरी स्ट्रिंग में, जैसे: (|_+_|)। साइन इन करने के बाद उपयोगकर्ता स्वचालित रूप से इस यूआरएल पर रीडायरेक्ट हो जाएगा।

    यह उपयोगकर्ता को Auth0 पर रीडायरेक्ट करेगा। लेन-देन पूरा होने के बाद Auth0 उपयोगकर्ता को आपके आवेदन पर वापस भेज देगा। यही कारण है कि कॉलबैक रूट (|_+_|) बनाने की जरूरत है जो एक सत्र कुकी बनाएगा:

    |_+_|

    |_+_| फ़ंक्शन अनुरोध को समाप्त करता है और प्रतिक्रिया भेजता है (रीडायरेक्ट), इसलिए यदि आपको कोई अन्य कुकीज़ सेट करने की आवश्यकता है, तो उक्त फ़ंक्शन को कॉल करने से पहले करें और वे अंतिम प्रतिक्रिया में रखे जाएंगे।

    आप वैकल्पिक रूप से लेन-देन को प्रभावित करने के लिए Auth0 को अतिरिक्त पैरामीटर भेज सकते हैं, उदाहरण के लिए:

    • लॉगिन पेज दिखा रहा है
    • उपयोगकर्ता का ईमेल पता भरना
    • कस्टम लॉगिन पेज पर जानकारी का खुलासा करना (उदाहरण: साइनअप टैब दिखाने के लिए)
    • उपयोगकर्ता को एक |_+_| . पर पुनर्निर्देशित करना लेन-देन समाप्त होने के बाद url
    |_+_|

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

    |_+_|

    लॉग आउट

    उपयोगकर्ता को साइन आउट करने के लिए हमें एक लॉगआउट लिंक की भी आवश्यकता होगी:

    |_+_|

    बनाओ एपीआई मार्ग इस मार्ग के लिए (|_+_|) जो क्लाइंट का उपयोग करता है:

    एनएफटी कला टोकन पता
    |_+_|

    ध्यान दें कि |_+_| . का तीसरा पैरामीटर एक वैकल्पिक स्वीकार करता है |_+_| लॉगआउट पर उपयोगकर्ता को रीडायरेक्ट करने के लिए अनुरोध-समय कॉन्फ़िगरेशन की अनुमति देने के लिए।

    उपयोगकर्ता रूपरेखा

    यदि आप किसी ऐसे मार्ग का पर्दाफाश करना चाहते हैं जो ग्राहक को उपयोगकर्ता प्रोफ़ाइल लौटाता है तो आप एक अतिरिक्त मार्ग बना सकते हैं (उदाहरण: |_+_|):

    |_+_|

    यदि आपको सर्वर से उपयोगकर्ता को पुनः प्राप्त करने की आवश्यकता है, तो आप एक अतिरिक्त पैरामीटर पास कर सकते हैं, जो इसे सत्र में भी अपडेट करेगा:

    |_+_|

    सर्वर पर पृष्ठ प्रस्तुत किए जाने के बाद आप उपयोगकर्ता को लोड कर सकते हैं:

    |_+_|

    यदि आपको एपीआई रूट या सर्वर-रेंडर किए गए पेज से उपयोगकर्ता के सत्र तक पहुंचने की आवश्यकता है तो आप |_+_| का उपयोग कर सकते हैं। ध्यान दें कि इस ऑब्जेक्ट में उपयोगकर्ता का |_+_| . भी शामिल होगा और |_+_|.

    |_+_|

    एक्सेस टोकन प्राप्त करना

    उपयोगकर्ता के एक्सेस टोकन को उपयोगकर्ता के सत्र में संग्रहीत किया जा सकता है। हालाँकि, यह टोकन कुछ समय के बाद समाप्त हो जाएगा। एक नया एक्सेस टोकन पुनर्प्राप्त करने के लिए रीफ्रेश टोकन का उपयोग करना संभव है। एक टोकन कैश उपलब्ध है जो आपके लिए सभी चेक और आवश्यक रीफ्रेश तर्क को संभालेगा:

    |_+_|

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

    यदि किसी कारण से नया एक्सेस टोकन प्राप्त करना संभव नहीं है तो एक त्रुटि हो जाएगी (|_+_|)।

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

    आपको अनुरोधित पहुंच टोकन में उपस्थित होने की गुंजाइश की भी आवश्यकता हो सकती है। यदि आपको एक समापन बिंदु पर कॉल करने की आवश्यकता है जिसके लिए |_+_| . की आवश्यकता है गुंजाइश आपको इसकी आवश्यकता हो सकती है:

    एनबीए स्ट्रीम फ्री रेडिट
    |_+_|

    यदि पिछले एक्सेस टोकन में वह गुंजाइश है तो हम जारी रख सकते हैं। यदि नहीं तो कोई त्रुटि उत्पन्न होगी और उपयोगकर्ता को फिर से साइन इन करना होगा ताकि आप नए क्षेत्रों का अनुरोध कर सकें।

    इस कार्यक्षमता के सही ढंग से काम करने के लिए आपको सत्र में पहुंच टोकन और रीफ्रेश टोकन जारी रखने की आवश्यकता होगी:

    विंक कॉइन कहां से खरीदें
    |_+_|

    जब तक यह टोकन वैध है, तब तक टोकन कैश कैश से टोकन की सेवा करेगा। यदि आप पुस्तकालय को एक नया |_+_| . प्राप्त करने के लिए बाध्य करना चाहते हैं आप |_+_| . प्रदान कर सकते हैं विकल्प इस प्रकार है:

    |_+_|

    यह उन मामलों में उपयोगी होता है जब उपयोगकर्ता प्रोफ़ाइल बदल जाती है और आप |_+_| . चाहते हैं अद्यतन दावों को शामिल करने के लिए।

    एपीआई को कॉल करना

    नेक्स्ट.जेएस एपीआई रूट्स का उपयोग करना और उन्हें बाहरी एपीआई के लिए प्रॉक्सी करना एक सामान्य पैटर्न है। ऐसा करते समय इन एपीआई को आमतौर पर एक |_+_| . की आवश्यकता होती है प्रदान किया गया। इन API को तब Auth0 में कॉन्फ़िगर किया जा सकता है।

    API के लिए access_token प्राप्त करने के लिए आपको |_+_| . को कॉन्फ़िगर करने की आवश्यकता होगी Auth0 प्लगइन पर और |_+_| . को स्टोर करने के लिए इसे कॉन्फ़िगर करें कुकी में:

    |_+_|

    फिर आप एक मार्ग बना सकते हैं (उदाहरण: |_+_|) जो उपयोगकर्ता के |_+_| का उपयोग करके बाहरी एपीआई (उदाहरण: |_+_|) को कॉल कर सकता है।

    |_+_|

    एक पूरा उदाहरण यहां उपलब्ध है।

    कॉलबैक को नियंत्रित करना

    आपको कॉलबैक हैंडलर पर अधिक नियंत्रण रखने की आवश्यकता हो सकती है। |_+_| हुक आपको यह नियंत्रित करने की अनुमति देता है कि सत्र बनने से पहले क्या होता है। उदाहरण के लिए आप इसका उपयोग सत्र में जानकारी जोड़ने/निकालने के लिए कर सकते हैं।

    |_+_|

    एक अन्य उदाहरण में उपयोगकर्ता को साइन इन करने से रोकना भी शामिल हो सकता है (यदि उनकी आवश्यक भूमिका नहीं है, ...):

    |_+_|

    प्रमाणीकरण की आवश्यकता

    यदि आपके पास एपीआई मार्ग हैं जिसके लिए आप उपयोगकर्ता को प्रमाणित करने की आवश्यकता चाहते हैं तो आप |_+_| . का उपयोग कर सकते हैं हैंडलर:

    |_+_|

    यदि उपयोगकर्ता प्रमाणित है तो आपका एपीआई मार्ग बस निष्पादित होगा, लेकिन यदि उपयोगकर्ता प्रमाणित नहीं है तो एक त्रुटि (401) वापस कर दी जाएगी:

    |_+_|

    प्रलेखन

    कुकीज़

    सभी कुकीज |_+_| . के रूप में सेट की जाएंगी कुकीज़ और HTTPS के लिए बाध्य किया जाएगा (|_+_|) यदि अनुप्रयोग |_+_| . के साथ चल रहा है और लोकलहोस्ट पर नहीं चल रहा है।

    |_+_| सेटिंग यह सुनिश्चित करेगी कि क्लाइंट-साइड जावास्क्रिप्ट XSS हमलों की हमले की सतह को कम करने के लिए कुकी तक पहुंचने में असमर्थ है, जबकि |_+_| सीएसआरएफ हमलों को कम करने में मदद करेगा। सेमसाइट के बारे में और पढ़ें यहां .

    एजी-ग्रिड सर्वर साइड फ़िल्टरिंग

    समस्या निवारण

    त्रुटि |_+_|

    Id_token सत्यापन के लिए घड़ी की सहनशीलता बढ़ाएँ:

    |_+_|

    योगदान

    इस प्रोजेक्ट की निर्भरता को स्थापित करने के लिए पहले NPM इंस्टॉल चलाएँ:

    |_+_|

    रिलीज़ बनाने के लिए आप निम्न कमांड चला सकते हैं और आउटपुट |_+_| . में संग्रहीत किया जाएगा फ़ोल्डर:

    |_+_|

    इसके अतिरिक्त आप परीक्षण भी चला सकते हैं:

    |_+_|

    समर्थन + प्रतिक्रिया

    यह एसडीके अर्ली एक्सेस में है और समर्थन सबसे अच्छा प्रयास है। सहायता प्राप्त करने या प्रतिक्रिया प्रदान करने के लिए इस रिपॉजिटरी में कोई समस्या खोलें।

    भेद्यता रिपोर्टिंग

    कृपया सार्वजनिक गिटहब इश्यू ट्रैकर पर सुरक्षा कमजोरियों की रिपोर्ट न करें। जिम्मेदार प्रकटीकरण कार्यक्रम सुरक्षा मुद्दों का खुलासा करने की प्रक्रिया का विवरण।

    Auth0 क्या है?

    Auth0 आपको आसानी से मदद करता है:

    • सामाजिक (जैसे, Google, Facebook, Microsoft, लिंक्डइन, GitHub, Twitter, आदि), या उद्यम (जैसे, Windows Azure AD, Google Apps, सक्रिय निर्देशिका, ADFS, SAML, आदि) सहित कई पहचान प्रदाताओं के साथ प्रमाणीकरण लागू करें।
    • उपयोगकर्ता नाम/पासवर्ड डेटाबेस, पासवर्ड रहित, या बहु-कारक प्रमाणीकरण वाले उपयोगकर्ताओं में लॉग इन करें
    • एकाधिक उपयोगकर्ता खातों को एक साथ लिंक करें
    • अपने एपीआई कॉल को अधिकृत करने और उपयोगकर्ता पहचान को सुरक्षित रूप से प्रवाहित करने के लिए हस्ताक्षरित JSON वेब टोकन जेनरेट करें
    • उपयोगकर्ता कैसे, कब और कहां लॉग इन कर रहे हैं, इसका विवरण देते हुए जनसांख्यिकी और विश्लेषण तक पहुंचें
    • अनुकूलन योग्य JavaScript नियमों का उपयोग करके अन्य डेटा स्रोतों से उपयोगकर्ता प्रोफ़ाइल को समृद्ध करें

    क्यों Auth0?

    विवरण डाउनलोड करें:
    लेखक: auth0
    लिंक को डाउनलोड करें: स्रोत कोड डाउनलोड करें
    आधिकारिक वेबसाइट: https://github.com/auth0/nextjs-auth0
    लाइसेंस: एमआईटी

    यह सभी देखें: