blog.posts.oauth2-authentication-guide.title

blog.posts.oauth2-authentication-guide.description

E

ECOSIRE Research and Development Team

ECOSIRE टीम

5 मार्च 20265 मिनट पढ़ें1.1k शब्द

OAuth2 प्रमाणीकरण: ऑथेंटिक के साथ सुरक्षित लॉगिन लागू करना

** प्रमाणीकरण किसी भी वेब एप्लिकेशन का सबसे सुरक्षा-महत्वपूर्ण घटक है, फिर भी 61% डेटा उल्लंघनों में समझौता किए गए क्रेडेंशियल शामिल होते हैं। ** ऑथेंटिक जैसे समर्पित पहचान प्रदाता के साथ OAuth2 को लागू करने से प्रमाणीकरण संबंधी चिंताओं को एप्लिकेशन लॉजिक से अलग किया जाता है, जिससे एकल साइन-ऑन, एमएफए और केंद्रीकृत उपयोगकर्ता प्रबंधन सक्षम होता है।

मुख्य बातें

  • पीकेसीई के साथ OAuth2 प्राधिकरण कोड प्रवाह वेब अनुप्रयोगों के लिए अनुशंसित पैटर्न है
  • ऑथेंटिक ओआईडीसी, एसएएमएल और एलडीएपी समर्थन के साथ एक स्व-होस्टेड पहचान प्रदाता प्रदान करता है
  • टोकन भंडारण के लिए HttpOnly कुकीज़ XSS-आधारित टोकन चोरी को रोकती हैं
  • लघु टीटीएल के साथ एकमुश्त विनिमय कोड यूआरएल में टोकन एक्सपोज़र को रोकते हैं

OAuth2 प्रवाह अवलोकन

पीकेसीई के साथ प्राधिकरण कोड प्रवाह

  1. उपयोगकर्ता लॉगिन पर क्लिक करता है: एप्लिकेशन प्रामाणिक प्राधिकरण समापन बिंदु पर रीडायरेक्ट करता है
  2. उपयोगकर्ता प्रमाणित करता है: प्रामाणिक लॉगिन पृष्ठ पर दर्ज किए गए क्रेडेंशियल (और एमएफए)
  3. प्राधिकरण कोड जारी: ऑथेंटिक एक अल्पकालिक कोड के साथ वापस रीडायरेक्ट करता है
  4. टोकन एक्सचेंज: बैकएंड एक्सेस और रिफ्रेश टोकन के लिए कोड का आदान-प्रदान करता है
  5. सत्र स्थापित: टोकन HttpOnly कुकीज़ में संग्रहीत

यह प्रवाह सुनिश्चित करता है कि क्रेडेंशियल आपके एप्लिकेशन को कभी न छूएं, टोकन सर्वर-टू-सर्वर का आदान-प्रदान करते हैं, और प्राधिकरण कोड संक्षिप्त टीटीएल के साथ एकल-उपयोग है।


प्रामाणिक सेटअप

प्रदाता कॉन्फ़िगरेशन

गोपनीय क्लाइंट प्रकार, अद्वितीय क्लाइंट आईडी, मजबूत क्लाइंट रहस्य, सटीक रीडायरेक्ट यूआरआई, ओपनआईडी/प्रोफाइल/ईमेल स्कोप और उचित टोकन जीवनकाल (एक्सेस: 5-15 मिनट, रीफ्रेश: 7-30 दिन) के साथ ऑथेंटिक में एक OAuth2/OIDC प्रदाता बनाएं।

समूह सदस्यता, विशेषताओं या आईपी प्रतिबंधों के आधार पर नीतियों के माध्यम से पहुंच को नियंत्रित करने के लिए प्रदाता को एक प्रामाणिक एप्लिकेशन से बांधें।

मल्टी-फैक्टर प्रमाणीकरण

एमएफए विकल्प कॉन्फ़िगर करें: TOTP (Google प्रमाणक, ऑथी), WebAuthn (हार्डवेयर सुरक्षा कुंजी, बायोमेट्रिक्स), और एसएमएस/ईमेल कोड फ़ॉलबैक के रूप में।


बैकएंड कार्यान्वयन

प्राधिकरण पुनर्निर्देशन

क्लाइंट_आईडी, रिस्पॉन्स_टाइप=कोड, रीडायरेक्ट_यूरी, स्कोप्स, एक रैंडम स्टेट पैरामीटर (सीएसआरएफ सुरक्षा), और पीकेसीई कोड_चैलेंज के साथ उपयोगकर्ताओं को ऑथेंटिक पर रीडायरेक्ट करें।

टोकन एक्सचेंज

कॉलबैक पर, प्राधिकरण कोड सर्वर-टू-सर्वर को अनुदान_प्रकार = प्राधिकरण_कोड, प्राप्त कोड, रीडायरेक्ट_यूरी, क्लाइंट क्रेडेंशियल्स और पीकेसीई कोड_वेरिफायर के साथ एक्सचेंज करें। प्रतिक्रिया में एक्सेस_टोकन, रिफ्रेश_टोकन, आईडी_टोकन और समाप्ति जानकारी शामिल है।

सुरक्षित टोकन संग्रहण

टोकन को कभी भी लोकलस्टोरेज या सेशनस्टोरेज में स्टोर न करें -- वे XSS पेलोड सहित किसी भी जावास्क्रिप्ट तक पहुंच योग्य हैं। सुरक्षित फ़्लैग, सेमसाइट=लैक्स और उचित समाप्ति के साथ HttpOnly कुकीज़ का उपयोग करें।


फ्रंटएंड इंटीग्रेशन

लॉगिन प्रवाह

उपयोगकर्ता साइन इन पर क्लिक करता है, फ्रंटएंड प्राधिकरण URL पर रीडायरेक्ट करता है, उपयोगकर्ता ऑथेंटिक पर प्रमाणित करता है (आपका ऐप कभी भी क्रेडेंशियल नहीं देखता है), ऑथेंटिक कोड के साथ वापस रीडायरेक्ट करता है, बैकएंड एक्सचेंज कोड और HttpOnly कुकीज़ सेट करता है, वर्तमान उपयोगकर्ता डेटा के लिए फ्रंटएंड कॉल सत्र एंडपॉइंट।

सत्र प्रबंधन

एक यूज़ऑथ() हुक बनाएं जो माउंट पर GET /auth/session को कॉल करता है। यदि प्रमाणित है तो उपयोगकर्ता डेटा लौटाएं, यदि नहीं तो लॉगिन पर रीडायरेक्ट करें। लॉगआउट पर, कुकीज़ साफ़ करने के लिए POST /auth/logout पर कॉल करें।

संरक्षित मार्ग

पेज रेंडरिंग से पहले अप्रमाणित उपयोगकर्ताओं को रीडायरेक्ट करने के लिए मिडलवेयर का उपयोग करें। Next.js में, proxy.ts फ़ाइल संरक्षित मार्गों पर प्रमाणीकरण कुकीज़ की जाँच करके इसे संभालती है।


सुरक्षा सर्वोत्तम प्रथाएँ

टोकन सुरक्षा

  • केवल Http कुकीज़ विशेष रूप से - कभी भी जावास्क्रिप्ट में टोकन प्रदर्शित न करें
  • लघु पहुंच टोकन जीवनकाल (5-15 मिनट)
  • रोटेशन के साथ टोकन रिफ्रेश (प्रत्येक उपयोग पर नया रिफ्रेश टोकन)
  • क्लाइंट रहस्य केवल बैकएंड पर संग्रहीत होता है, फ्रंटएंड कोड में कभी नहीं

पुनर्निर्देशन सुरक्षा

  • एक अनुमति सूची के विरुद्ध सभी रीडायरेक्ट यूआरएल को मान्य करें
  • // (प्रोटोकॉल-सापेक्ष यूआरएल) से शुरू होने वाले रीडायरेक्ट को अस्वीकार करें
  • यूआरएल पैरामीटर्स में कभी भी टोकन शामिल न करें
  • 60-सेकंड टीटीएल के साथ एक बार के एक्सचेंज कोड का उपयोग करें

सत्र सुरक्षा

  • प्रमाणीकरण के बाद सत्र पहचानकर्ताओं को पुन: उत्पन्न करें
  • निष्क्रिय टाइमआउट (30 मिनट) और पूर्ण टाइमआउट (8 घंटे) लागू करें
  • ऑडिट ट्रेल्स के लिए सभी प्रमाणीकरण ईवेंट लॉग करें
  • दर-सीमा लॉगिन क्रूर बल को रोकने का प्रयास करता है

प्रामाणिक उन्नत सुविधाएँ

उपयोगकर्ता नामांकन

अनुकूलन योग्य नामांकन प्रवाह के साथ स्व-सेवा उपयोगकर्ता पंजीकरण कॉन्फ़िगर करें। नए खातों के लिए आवश्यक फ़ील्ड, ईमेल सत्यापन चरण और अनुमोदन वर्कफ़्लो परिभाषित करें।

ब्रांडिंग अनुकूलन

निर्बाध ब्रांडेड अनुभव के लिए प्रामाणिक लॉगिन पृष्ठ पर कस्टम सीएसएस, लोगो और थीम लागू करें। कस्टम ब्रांडिंग को CSS वॉल्यूम माउंट या Django ORM ब्रांडिंग_कस्टम_css फ़ील्ड के माध्यम से लागू किया जाना चाहिए।

उपयोगकर्ता फ़ेडरेशन

एलडीएपी/सक्रिय निर्देशिका सिंक के माध्यम से ऑथेंटिक को बाहरी उपयोगकर्ता निर्देशिकाओं से कनेक्ट करें, जिससे मौजूदा एंटरप्राइज़ उपयोगकर्ता खाता मनोरंजन के बिना प्रमाणित कर सकें।


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

प्रश्न: Auth0 या Keycloak पर प्रामाणिकता क्यों?

ऑथेंटिक स्व-होस्टेड (पूर्ण डेटा नियंत्रण), ओपन-सोर्स है, और इसमें एक आधुनिक यूआई है। Auth0 प्रति-उपयोगकर्ता मूल्य निर्धारण में वृद्धि के साथ SaaS है। कीक्लोक स्वयं-होस्ट किया गया है, लेकिन इसमें सीखने की अवस्था तेज़ है और यूआई पुराना है। ऑथेंटिक सुविधाओं, प्रयोज्यता और लागत को संतुलित करता है।

प्रश्न: क्या ऑथेंटिक हजारों उपयोगकर्ताओं को संभाल सकता है?

हाँ। Django और PostgreSQL पर निर्मित, ऑथेंटिक बड़े उपयोगकर्ता आधारों को संभालता है। 100,000+ उपयोगकर्ताओं के लिए, पर्याप्त डेटाबेस संसाधन सुनिश्चित करें और क्षैतिज स्केलिंग पर विचार करें।

प्रश्न: हम कई अनुप्रयोगों में एसएसओ कैसे लागू करते हैं?

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

प्रश्न: सामाजिक लॉगिन के बारे में क्या?

ऑथेंटिक बॉक्स से बाहर सामाजिक लॉगिन स्रोतों का समर्थन करता है - Google, GitHub, Microsoft और अन्य OAuth2 प्रदाता। उपयोगकर्ता सुविधाजनक लॉगिन के लिए सामाजिक खातों को अपनी प्रामाणिक पहचान से जोड़ सकते हैं।


आगे क्या है

एक समर्पित पहचान प्रदाता के साथ OAuth2 अधिकांश वेब अनुप्रयोगों के लिए सबसे प्रभावशाली सुरक्षा सुधार है। यह क्रेडेंशियल हैंडलिंग को समाप्त करता है, एमएफए को सक्षम बनाता है, और केंद्रीकृत ऑडिट लॉगिंग प्रदान करता है।

प्रमाणीकरण कार्यान्वयन सहायता के लिए ECOSIRE से संपर्क करें, या सुरक्षित ERP परिनियोजन के लिए हमारी Odoo कार्यान्वयन सेवाओं का पता लगाएं।


ECOSIRE द्वारा प्रकाशित - एंटरप्राइज़ सॉफ़्टवेयर समाधानों के साथ व्यवसायों को बड़े पैमाने पर मदद करना।

शेयर करें:
E

लेखक

ECOSIRE Research and Development Team

ECOSIRE में एंटरप्राइज़-ग्रेड डिजिटल उत्पाद बना रहे हैं। Odoo एकीकरण, ई-कॉमर्स ऑटोमेशन, और AI-संचालित व्यावसायिक समाधानों पर अंतर्दृष्टि साझा कर रहे हैं।

WhatsApp पर चैट करें