रिसोर्स · 43
OAuth और OpenID कनेक्ट: इंटीग्रेशन को एंड टू एंड वेरिफ़ाई करें
साइन-इन, डेलिगेशन और डेटा परमिशन को अलग करें, फिर रीडायरेक्ट, टोकन, सेशन और रिवोकेशन को टेस्ट करें।
अपडेटेड · 8 min
यह गाइड क्या पाने में मदद करती है
- आइडेंटिटी को ऑथराइजेशन से अलग करें
- अनचाहे रीडायरेक्ट और टोकन को रिजेक्ट करें
- रिजेक्शन को भी सक्सेस की तरह सावधानी से टेस्ट करें
- जाने या इंसिडेंट के बाद एक्सेस हटाने को वेरिफाई करें
जल्दी से चेक करें
- किस प्रोवाइडर और इश्यूअर से उम्मीद की जाती है?
- क्या रीडायरेक्ट URI ठीक से रजिस्टर्ड है?
- क्या कोई ID टोकन गलत तरीके से एक्सेस टोकन के तौर पर इस्तेमाल किया जा रहा है?
- क्या हर रिसोर्स ओनरशिप चेक करता है?
- कौन सा एक्सेस रद्द होने के बाद भी बचता है?
स्टेप-बाय-स्टेप तरीका
- 1
डिप्लॉय किया गया फ्लो बनाएं
पब्लिक या कॉन्फिडेंशियल क्लाइंट, ब्राउज़र, ऑथराइजेशन सर्वर, API और OIDC प्रोवाइडर की पहचान करें। रिकॉर्ड करें कि कोड और टोकन कहां ट्रैवल करते हैं, उन्हें कौन स्टोर करता है और कौन से रोल दिए गए हैं। सेल्स डायग्राम से असली डिप्लॉयमेंट तय नहीं होता।
डिलीवरेबल: फ्लो, ट्रस्ट बाउंड्री और कंपोनेंट ओनर।
- 2
साइन-इन ट्रांज़ैक्शन चेक करें
क्लाइंट के लिए सही PKCE के साथ कोड फ्लो का इस्तेमाल करें। S256, ट्रांज़ैक्शन बाइंडिंग, रजिस्टर्ड रीडायरेक्ट और जाली रिक्वेस्ट से सुरक्षा चेक करें। एक अनएक्सपेक्टेड URI, गलत वेरिफायर, रिप्ले किया गया कोड और अनएक्सपेक्टेड इश्यूअर को टेस्ट करें। RFC 9700 क्लाइंट टाइप के हिसाब से ज़रूरतों और सुझावों को अलग करता है।
डिलीवरेबल: अलाउड और डिनाइड टेस्ट रिजल्ट।
- 3
सही टोकन वैलिडेट करें
API अपने एक्सेस टोकन को फॉर्मेट और प्रोवाइडर नियमों के हिसाब से वैलिडेट करता है: सिग्नेचर या इंट्रोस्पेक्शन, इश्यूअर, ऑडियंस, एक्सपायरी और परमिशन। OIDC क्लाइंट अलग से आइडेंटिटी टोकन को वैलिडेट करता है। एक वैलिड सिग्नेचर यह तय नहीं करता कि टोकन इसी API का है।
डिलीवरेबल: वैलिडेशन कॉन्ट्रैक्ट और ऑडियंस और एक्सपायरी टेस्ट।
- 4
बिज़नेस परमिशन चेक करें
किसी दूसरे अकाउंट के ओनरशिप वाले ऑब्जेक्ट, लोअर रोल, प्राइवेट फ़ील्ड और एडमिनिस्ट्रेटिव ऑपरेशन को टेस्ट करें। कोई स्कोप या ऑथेंटिकेटेड गेटवे, रिक्वेस्ट किए गए रिसोर्स पर सर्वर-साइड चेक की जगह नहीं लेता है। ऑथराइज़्ड टेस्ट अकाउंट और डेटा का इस्तेमाल करें।
डिलीवरेबल: रोल, ऑब्जेक्ट, ऑपरेशन और एक्सपेक्टेड-डिनायल मैट्रिक्स।
- 5
एक्सपायरी और रिवोकेशन करें
लोकल सेशन, प्रोवाइडर सेशन, एक्सेस टोकन और रिफ्रेश टोकन को अलग करें। डिपार्चर, खोया हुआ डिवाइस, रोल चेंज, साइनिंग-की रोटेशन और प्रोवाइडर आउटेज को टेस्ट करें। यह मानने के बजाय कि साइन-आउट तुरंत सब कुछ रिवोक कर देता है, बचे हुए एक्सेस टाइम को डॉक्यूमेंट करें।
डिलीवरेबल: एक्सेस-रिमूवल टाइमलाइन और एक्सेप्शन।
- 6
सीक्रेट्स को एक्सपोज़ किए बिना ऑब्ज़र्व करें
ट्रांज़ैक्शन रेफरेंस, वैलिडेशन डिसीज़न, एरर कैटेगरी और कॉन्फ़िगरेशन वर्शन लॉग करें। कोड, टोकन और सीक्रेट्स को एक्सक्लूड करें। डायग्नोसिस, इंटीग्रेशन शटडाउन और वैलिडेट किए गए कॉन्फ़िगरेशन पर रोलबैक तैयार करें; प्रोवाइडर चेंज के बाद टेस्ट दोबारा चलाएं।
डिलीवरेबल: ऑपरेटिंग प्रोसीजर और रिग्रेशन चेक।
काल्पनिक काम का उदाहरण
उदाहरण वाली स्थिति
उदाहरण के लिए: दो क्लाइंट एक आइडेंटिटी प्रोवाइडर का इस्तेमाल करते हैं। पहले के लिए वैलिड टोकन दूसरे क्लाइंट के API को दिखाया जाता है।
फैसला और उम्मीद का सबूत
API गलत ऑडियंस को रिजेक्ट कर देता है, टोकन-फ़्री ट्रेस रिकॉर्ड करता है और कोई डेटा रिटर्न नहीं करता है। डिनायल एक रिग्रेशन टेस्ट बन जाता है।
मैकेनिज़्म में अंतर बताएं
| मैकेनिज़्म | मकसद | वेरिफ़िकेशन या लिमिटेशन |
|---|---|---|
| OAuth 2.0 | रिसोर्स एक्सेस दें | सर्वर-साइड ऑब्जेक्ट परमिशन |
| OpenID कनेक्ट | वैलिडेटेड ID टोकन के ज़रिए पहचान बनाना | जारी करने वाला, ऑडियंस और ट्रांज़ैक्शन वैलिडेशन |
| एप्लीकेशन सेशन | एप्लीकेशन साइन-इन बनाए रखना | एक्सपायरी, इनवैलिडेशन और सेशन प्रोटेक्शन |
मैनेजमेंट इंडिकेटर
| इंडिकेटर | यह क्या मापता है | पहला एक्शन |
|---|---|---|
| डिनायल ठीक करना | मना किए गए केस असल में ब्लॉक करना | हर अचानक एक्सेप्टेंस को ठीक करना |
| रिवोकेशन में देरी | ज़रूरी एक्सेस गायब होने तक का समय | सेशन और टोकन अलग-अलग चेक करना |
| वैलिडेशन फेलियर | कारण और वर्शन के हिसाब से रिजेक्शन | कॉन्फ़िगरेशन एरर से अटैक को अलग करना |
आम गलतियाँ
- ऑथेंटिकेशन को ऑथराइज़ेशन से कन्फ्यूज़ करना
- सिग्नेचर चेक करने के बाद किसी भी ऑडियंस को एक्सेप्ट करना
- ब्रॉड रीडायरेक्ट रजिस्टर करना URIs
- आसान डीबगिंग के लिए टोकन लॉग करना
अक्सर पूछे जाने वाले सवाल
क्या PKCE हर कंट्रोल को रिप्लेस करता है?
नहीं। यह तय फ्लो में कोड एक्सचेंज को प्रोटेक्ट करता है; टोकन वैलिडेशन, रीडायरेक्ट, बिज़नेस ऑथराइज़ेशन और सेशन को अभी भी चेक करने की ज़रूरत है।
क्या JWT एक परमिशन है?
JWT एक फ़ॉर्मेट है। क्लेम सिर्फ़ वैलिडेशन और आपके API रूल्स के एप्लिकेशन के बाद ही इस्तेमाल करने लायक बनते हैं।
क्या वैलिडेशन शुरू से बनाना चाहिए?
एक मेंटेन की गई लाइब्रेरी और प्रोवाइडर डॉक्यूमेंटेशन को प्राथमिकता दें, फिर अपने कॉन्फ़िगरेशन को टेस्ट करें। एक सही लाइब्रेरी को भी गलत तरीके से कॉन्फ़िगर किया जा सकता है।
ऑफ़िशियल रेफ़रेंस
रेफ़रेंस इस तरीके को सपोर्ट करते हैं। अपने कॉन्टेक्स्ट के हिसाब से चेक को एडजस्ट करें; वे सर्टिफ़िकेशन नहीं हैं। ओरिजिनल रेफ़रेंस टाइटल और सोर्स डॉक्यूमेंट दूसरी भाषा में हो सकते हैं।






