दिलचस्प पोस्ट
मैं जावा सैंडबॉक्स कैसे बनाऊं? आर लोडिंग फाइल में लूप मोंगोज में कैस्केड शैली को हटा दें स्ट्रीम मैनिपुलेटर कैसे काम करते हैं? एएनएसआई सी में नाम स्थान क्यों नहीं है? MySQL आउटफाइल में निर्यात: सीएसवी भागने वाले वर्ण एसक्यूएएस कतार में कई उपभोक्ताओं का उपयोग करना अगर-दूसरे वक्तव्य पर स्विच का लाभ चींटी के साथ संकलित फ़ाइल में मुख्य वर्ग को नहीं मिल सकता है एचटीएमएल युक्त टैग छोडो, टैग को अनदेखा करें मैं Python में urllib2 वाले पृष्ठों को कैसे प्राप्त कर सकता हूं? सर्विसेटेक रीस्ट एपीआई और कॉरस सुरक्षित चलाने से एक ही कार्यक्रम के कई उदाहरणों को रोकने के लिए एक म्यूटक्स का उपयोग कर रहा है? दो बहु आयामी arrays के बीच सहसंबंध गुणांक की गणना किसी वेबपेज पर एम्बेडेड ऑब्जेक्ट के लिए wmode = "transparent", "opaque", या "window" के बीच अंतर

ओएथ v2 को एक्सेस और ताज़ा करें टोकन दोनों क्यों मिलता है?

मसौदा OAuth 2.0 प्रोटोकॉल की धारा 4.2 यह इंगित करता है कि एक प्राधिकरण सर्वर एक access_token (जो संसाधन के साथ खुद को प्रमाणित करने के लिए उपयोग किया जाता है) के साथ-साथ एक refresh_token दोनों को वापस लौटा सकता है, जिसका प्रयोग विशुद्ध रूप से एक नया access_token बनाने के लिए किया जाता है:

https://tools.ietf.org/html/rfc6749#section-4.2

दोनों क्यों है? क्यों न सिर्फ access_token , refresh_token और refresh_token तक अंतिम पहुंच तक refresh_token ?

वेब के समाधान से एकत्रित समाधान "ओएथ v2 को एक्सेस और ताज़ा करें टोकन दोनों क्यों मिलता है?"

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

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

यह कहने के बाद , क्योंकि प्राधिकरण सर्वर और संसाधन सर्वर दोनों पर कॉल प्रत्येक एसएसएल पर किया जाता है – जिसमें मूल क्लाइंट आईडी और रहस्य शामिल हैं जब वे एक्सेस / रिफ़्रेश टोकन का अनुरोध करते हैं – मैं इस बात के बारे में निश्चित नहीं हूं कि कैसे पहुंच टोकन और अधिक " समझौता "लंबे समय तक रीफ्रेश टोकन और क्लाइंट / गुप्त संयोजन से

यह बिल्कुल कार्यान्वयन के लिए अलग है, जहां आप प्राधिकरण और संसाधन सर्वर दोनों को नियंत्रित नहीं करते हैं

ताज़ा टोकन के उपयोग के बारे में यहां एक अच्छा धागा है: OAuth अभिलेखागार ।

ऊपर से एक उद्धरण, ताज़ा टोकन के सुरक्षा उद्देश्यों के बारे में बात करना:

टोकन को रीफ़्रेश करें … एक असुरक्षित संसाधन सर्वर, बीटा या खराब कोडित संसाधन सर्वर ऐप, जे एस एसडीके क्लाइंट पर लॉग-इन में एक लंबे समय तक पहुंच-टोकन लीक के जोखिम को कम करता है, गैर https साइट पर access_token को डालता है कुकी, इत्यादि)

कैचडीव द्वारा उपलब्ध कराई गई चर्चा के लिंक, डिक हार्डट द्वारा बनाई गई एक और वैध बिंदु है, जो मुझे विश्वास है कि इसके बारे में ऊपर लिखी गयी बातों के अलावा यहां उल्लेख किया जाना उचित है:

ताज़ा टोकन की मेरी यादें सुरक्षा और निरसन के लिए थीं। <…>

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

दरअसल, ऐसी स्थिति में जहां संसाधन सर्वर और प्राधिकरण सर्वर एक ही इकाई है, और जहां उपयोगकर्ता और उनमें से किसी एक के बीच संबंध (आमतौर पर) समान रूप से सुरक्षित है, वहाँ पहुँच टोकन से ताज़ा ताज़ा ताज़ा रखने के लिए ज्यादा समझ नहीं है।

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

आम तौर पर टोकन या तो यादृच्छिक पहचानकर्ता होते हैं जो सर्वर के डेटाबेस में विशिष्ट रिकॉर्ड की ओर इशारा करते हैं, या वे स्वयं में सभी जानकारी रख सकते हैं (निश्चित रूप से, इस जानकारी को एमएसी के साथ, उदाहरण के लिए, हस्ताक्षर करना होगा)।

लंबे समय तक रहने वाले टोकन के साथ सिस्टम को कैसे कार्य करना चाहिए

सर्वर एक टोकन जारी करके स्कोप के पूर्व-निर्धारित समूह के भीतर उपयोगकर्ता के डेटा तक पहुंच प्राप्त करने की अनुमति देता है। चूंकि हम टोकन को निरस्त करने के लिए चाहते हैं, हमें डेटाबेस में टोकन को "निरस्त" सेट या अनसेट सेट किए जाने के साथ टोकन में संग्रहित करना होगा (अन्यथा, आप आत्म-निहित टोकन के साथ ऐसा कैसे करेंगे?) डेटाबेस में उतना अधिक हो सकता है जितना len(users) x len(registered clients) x len(scopes combination) रिकॉर्ड। हर एपीआई अनुरोध के बाद डेटाबेस को मारा जाना चाहिए। हालांकि, ओ (1) को निष्पादित करने वाले ऐसे डेटाबेस को क्वेरी करने के लिए काफी तुच्छ है, असफलता का एकल बिंदु सिस्टम के स्केलेबिलिटी और प्रदर्शन पर नकारात्मक प्रभाव डाल सकता है।

लंबे समय तक रीफ़्रेश टोकन और अल्पावधि पहुंच टोकन वाला सिस्टम कैसे कार्य करना चाहिए

यहां हम दो कुंजियां जारी करते हैं: डेटाबेस में संबंधित रिकॉर्ड के साथ यादृच्छिक ताज़ा टोकन, और स्व-निहित पहुंच टोकन पर हस्ताक्षर किए, जिसमें समापन कालस्टैम्प फ़ील्ड शामिल है।

चूंकि अभिगम टोकन स्वयं समाहित है, हमें अपनी वैधता की जांच के लिए डेटाबेस को हिट करने की ज़रूरत नहीं है। हम सभी को करना है टोकन को डिकोड करना और हस्ताक्षर और टाइमस्टैम्प को मान्य करना।

इसके बावजूद, हमें अब भी ताज़ा करने वाले टोकन के डेटाबेस को रखना होगा, लेकिन इस डेटाबेस के लिए अनुरोधों की संख्या आम तौर पर पहुंच टोकन के जीवन काल (लंबी अवधि तक, प्रवेश दर कम) द्वारा परिभाषित की गई है।

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

समझौतों से

ताज़ा करें टोकन एक्सेस टोकन डेटाबेस के एसपीओएफ (असफलता का एकल बिंदु) आंशिक रूप से खत्म करते हैं, फिर भी उनके पास कुछ स्पष्ट कमियां हैं।

  1. खिड़की"। घटनाओं के बीच एक समय सीमा "उपयोगकर्ता अभिगमन को वापस कर देता है" और "पहुंच रद्द की गारंटी है"

  2. ग्राहक तर्क की जटिलता

    ताज़ा टोकन के बिना

    • पहुंच टोकन के साथ API अनुरोध भेजें
    • यदि प्रवेश टोकन अमान्य है, तो विफल और उपयोगकर्ता को फिर से प्रमाणित करने के लिए कहें

    ताज़ा टोकन के साथ

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

मुझे उम्मीद है कि यह जवाब समझ में आता है और किसी को और अधिक विचारशील निर्णय लेने में मदद करता है। मैं यह भी ध्यान देना चाहूंगा कि कुछ प्रसिद्ध ओअथ 2 प्रदाताओं, जिसमें गिथूब और चौकोर स्कैन सहित ताज़ा टोकन बिना प्रोटोकॉल को अपनाना है, और उस से खुश लग रहा है।

ऊपर दिए गए सभी महान उत्तरों के बावजूद, मैं एक सुरक्षा मास्टर छात्र और प्रोग्रामर के रूप में है, जो पहले ईबे में काम किया था जब मैंने खरीदार संरक्षण और धोखाधड़ी पर एक नज़र डाला था, तो प्रवेश टोकन को अलग और टोकन को ताज़ा करने के लिए कहा जा सकता है कि उपयोगकर्ता के लगातार उपयोगकर्ता नाम के उत्पीड़न के बीच अपना सर्वश्रेष्ठ संतुलन / पासवर्ड इनपुट और आपकी सेवा के संभावित दुरुपयोग तक पहुंच रद्द करने के लिए प्राधिकारी को हाथ में रखना।

इस तरह के परिदृश्य के बारे में सोचो आप 3600 सेकंड के एक एक्सेस टोकन के उपयोगकर्ता जारी करते हैं और एक दिन के रूप में टोकन ताज़ा करते हैं।

  1. उपयोगकर्ता एक अच्छा उपयोगकर्ता है, वह घर पर है और अपनी वेबसाइट पर शॉपिंग / बंद हो जाता है और अपने आईफोन पर खोज करता है। उसका आईपी पता बदलता नहीं है और आपके सर्वर पर बहुत कम भार है। 3-5 पृष्ठों की तरह हर मिनट अनुरोध करता है जब पहुंच टोकन पर उनके 3600 सेकंड खत्म हो गए हैं, तो उन्हें ताज़ा टोकन के साथ एक नया होना चाहिए। हम, सर्वर साइड पर, उसकी गतिविधि के इतिहास और आईपी पते की जांच करें, सोचें कि वह इंसान है और खुद को बर्ताव करता है हमारी सेवा का उपयोग जारी रखने के लिए हम उन्हें एक नया पहुंच टोकन प्रदान करते हैं उपयोगकर्ता को फिर से उपयोगकर्ता नाम / पासवर्ड दर्ज करने की आवश्यकता नहीं होगी, जब तक कि वह रीफ्रेश टोकन के एक दिवसीय जीवन काल तक नहीं पहुंच जाता है।

  2. उपयोगकर्ता एक लापरवाह उपयोगकर्ता है। वह न्यूयॉर्क, अमरीका में रहता है और पोलैंड में एक हैकर द्वारा वायरस प्रोग्राम बंद कर दिया गया था और इसे हैक कर लिया गया था। जब हैकर को टोकन का उपयोग किया गया और टोकन ताज़ा किया गया, तो वह उपयोगकर्ता का प्रतिरूपण करने और हमारी सेवा का उपयोग करने की कोशिश करता है। लेकिन शॉर्ट-लाइव एक्सेस टोकन की समय सीमा समाप्त होने के बाद, जब हैकर प्रवेश टोकन को रीफ़्रेश करने का प्रयास करता है, तो हम, सर्वर पर, ने उपयोगकर्ता के व्यवहार इतिहास में एक नाटकीय आईपी परिवर्तन देखा है (हे, संयुक्त राज्य अमेरिका में इस आदमी लॉगिन और अब पोलैंड में पहुंच को ताज़ा करें सिर्फ 3600 के बाद ???) हम रिफ्रेश प्रक्रिया को समाप्त कर देते हैं, रीफ़्रेश टोकन को अमान्य कर देते हैं और यूजरनेम / पासवर्ड फिर से दर्ज करने के लिए प्रॉम्प्ट करते हैं।

  3. उपयोगकर्ता एक दुर्भावनापूर्ण उपयोगकर्ता है वह हमारी सेवा का दुरुपयोग करने के लिए 1000 बार हमारे एपीआई को कॉल करके रोबोट का उपयोग करके हर मिनट का इरादा रखता है। वह तब तक 3600 सेकंड तक ऐसा कर सकता है जब वह एक्सेस टोकन को रीफ़्रेश करने की कोशिश करता है, हमने उसके व्यवहार को देखा और लगता है कि वह इंसान नहीं हो सकता। हम अस्वीकार करते हैं और ताज़ा प्रक्रिया को समाप्त करते हैं और उसे फिर से उपयोगकर्ता नाम / पासवर्ड दर्ज करने के लिए कहें। यह संभावित रूप से अपने रोबोट के स्वचालित प्रवाह को तोड़ सकता है कम से कम उसे असुविधाजनक बनाता है

आप देख सकते हैं कि ताज़ा टोकन ने पूरी तरह से कार्य किया है जब हम अपना काम संतुलन बनाने की कोशिश करते हैं, उपयोगकर्ता अनुभव और चोरी के टोकन के संभावित खतरे। सर्वर पक्ष पर आपका घड़ी कुत्ता आईपी परिवर्तन से अधिक की जांच कर सकता है, एपीआई कॉल की आवृत्ति यह निर्धारित करने के लिए कि उपयोगकर्ता अच्छा उपयोगकर्ता होगा या नहीं।

एक और शब्द यह है कि आप प्रत्येक एपीआई पर लागू होकर चोरी के टोकन / सेवा के दुरुपयोग के नुकसान नियंत्रण को सीमित करने की कोशिश कर सकते हैं, मूल आईपी घड़ी कुत्ता या किसी अन्य उपाय को कॉल कर सकते हैं। लेकिन यह महंगा है क्योंकि आपको उपयोगकर्ता के बारे में पढ़ना और लिखना होगा और आपके सर्वर का जवाब धीमा होगा।

इन उत्तरों में से कोई भी मुख्य कारण रीफ़्रेश टोकन मौजूद नहीं है। जाहिर है, आप अपने क्लाइंट क्रेडेंशियल्स को सर्वर सर्वर पर भेजकर हमेशा एक नया ऐक्सेस-टोकन / रिफ्रेश-टोकन जोड़ी प्राप्त कर सकते हैं – आप उन्हें पहली जगह पर कैसे प्राप्त करते हैं

इसलिए रिफ्रेश टोकन का एकमात्र उद्देश्य वायर के लिए भेजे जाने वाले क्लाइंट क्रेडेंशियल्स के इस्तेमाल को सीमित करने के लिए है। प्रवेश टोकन की छोटी सी टीटीएल, अधिक बार क्लाइंट क्रेडेंशियल्स का उपयोग एक नया ऐक्सेस टोकन प्राप्त करने के लिए किया जाएगा, और इसलिए अधिक अवसर हमलावरों को क्लाइंट क्रेडेंशियल्स के साथ समझौता करना होगा (हालांकि यह वैसे भी मुश्किल हो सकता है अगर असममित एन्क्रिप्शन उन्हें भेजने के लिए इस्तेमाल किया जा रहा है)। इसलिए यदि आपके पास एक-उपयोग ताज़ा करें टोकन है, तो आप क्लाइंट क्रेडेंशियल्स के साथ समझौता किए बिना एक्सेस-टोकन के टीटीएल को मनमाने ढंग से छोटा कर सकते हैं।

यह जवाब ऑस्ट 2 मानक बॉडी ईमेल सूची के माध्यम से जस्टिन रिक्शर से है। यह उसकी अनुमति के साथ पोस्ट किया जाता है


ताज़ा टोकन के जीवनकाल (एएस) प्राधिकरण सर्वर पर निर्भर है – वे समाप्त हो सकते हैं, रद्द किए जा सकते हैं, आदि। ताज़ा टोकन और पहुंच टोकन के बीच का अंतर दर्शक है: ताज़ा टोकन केवल प्राधिकरण सर्वर पर वापस जाता है, एक्सेस टोकन (आरएस) संसाधन सर्वर पर जाता है।

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

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

अधिक जानकारी के लिए कृपया http://oauth.net/articles/authentication/ पढ़ें

कुछ भ्रम को साफ करने के लिए आपको ग्राहक गुप्त और उपयोगकर्ता पासवर्ड की भूमिकाओं को समझना होगा, जो बहुत अलग हैं।

क्लाइंट एक ऐप / वेबसाइट / प्रोग्राम / … है, जो एक सर्वर द्वारा समर्थित है, जो किसी तृतीय-पक्ष प्रमाणीकरण सेवा का उपयोग करके उपयोगकर्ता को प्रमाणित करना चाहता है। ग्राहक गुप्त एक (यादृच्छिक) स्ट्रिंग है जो इस क्लाइंट और प्रमाणीकरण सर्वर दोनों के लिए जाना जाता है। इस रहस्य का उपयोग करने के लिए क्लाइंट प्रमाणीकरण सर्वर से खुद को पहचान सकता है, एक्सेस टोकन का अनुरोध करने के लिए प्राधिकरण प्राप्त कर सकता है।

प्रारंभिक पहुंच टोकन प्राप्त करने के लिए और टोकन ताज़ा करने के लिए, क्या आवश्यक है:

  • उपयोगकर्ता आईडी
  • उपयोगकर्ता पासवर्ड
  • क्लाइंट आईडी
  • ग्राहक का रहस्य

ताज़ा पहुंच टोकन प्राप्त करने के लिए ग्राहक निम्न जानकारी का उपयोग करता है:

  • क्लाइंट आईडी
  • ग्राहक का रहस्य
  • रीफ़्रेश टोकन

यह स्पष्ट रूप से अंतर दिखाता है: जब ताज़ा होता है, तो क्लाइंट को ग्राहक क्लाइंट का उपयोग करके एक्सेस टोकन को ताज़ा करने के लिए प्राधिकरण प्राप्त होता है, और इस तरह उपयोगकर्ता आईडी + पासवर्ड के बजाय ताज़ा टोकन का उपयोग करके उपयोगकर्ता को फिर से प्रमाणित कर सकता है। यह प्रभावी रूप से उपयोगकर्ता को अपना पासवर्ड फिर से दर्ज करने से रोकता है।

यह यह भी दिखाता है कि ताज़ा टोकन खोना कोई समस्या नहीं है क्योंकि क्लाइंट आईडी और गुप्त ज्ञात नहीं हैं यह यह भी दिखाता है कि क्लाइंट आईडी और क्लाइंट को गुप्त गुप्त रखना महत्वपूर्ण है

ग्राहकों को कई तरह से समझौता किया जा सकता है उदाहरण के लिए एक सेल फोन क्लोन किया जा सकता है। प्रवेश टोकन की समाप्ति होने का मतलब है कि क्लाइंट को प्राधिकरण सर्वर पर पुन: प्रमाणीकरण करने के लिए मजबूर किया जाता है। पुनः प्रमाणीकरण के दौरान, प्राधिकरण सर्वर अन्य विशेषताओं (IOW अनुकूली पहुंच प्रबंधन प्रदर्शन) की जांच कर सकता है।

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

रीफ़्रेश टकन्स एक ही स्थान पर अनिवार्य रूप से फिट होते हैं, जहां सामान्य वेब साइट समय-समय पर उपयोगकर्ताओं को समय-समय पर फिर से प्रमाणित करने के लिए चुन सकते हैं (जैसे बैंकिंग साइट)। यह अत्यधिक प्रयोग नहीं किया जाता है क्योंकि अधिकांश सामाजिक वेब साइट वेब उपयोगकर्ताओं को फिर से प्रमाणित नहीं करते हैं, इसलिए वे एक ग्राहक को पुनः प्रमाणित क्यों करेंगे?

बीटी के उत्तर को और आसान बनाने के लिए: जब आप आम तौर पर उपयोगकर्ता को क्रेडेंशियल्स लिखना नहीं चाहते हैं, तो फिर ताज़ा टोकन का उपयोग करें, लेकिन अभी भी अनुमतियों को रद्द करने में सक्षम होने की शक्ति चाहते हैं (ताज़ा टोकन को रद्द करके)

आप एक एक्सेस टोकन को रद्द नहीं कर सकते, केवल एक ताज़ा टोकन

क्यों न सिर्फ ताज़ा करें, ताज़ा करें और रिफ्रेश_टोकन तक अंतिम पहुंच तक पहुंचें?

अन्य लोगों द्वारा दिए गए महान उत्तर के अलावा, एक और कारण है कि दावे के साथ रीफ्रेश टोकन का उपयोग करने के लिए और इसके कारण क्या होगा।

प्रत्येक टोकन में ऐसे दावे शामिल होते हैं जो उपयोगकर्ता के नाम, उनकी भूमिका या प्रदाता से कुछ भी शामिल कर सकते हैं जो दावे का निर्माण किया। एक टोकन रीफ्रेश होने के कारण ये दावे अपडेट किए जाते हैं।

यदि हम टोकनों को अधिक बार रीफ्रेश करते हैं तो हम स्पष्ट रूप से हमारी पहचान सेवाओं पर अधिक दबाव डालते हैं, हालांकि हम अधिक सटीक और अप-टू-डेट दावे प्राप्त कर रहे हैं।

सबसे पहले, प्राधिकरण प्रमाणीकरण अनुदान देकर प्राधिकरण सर्वर के साथ क्लाइंट प्रमाणीकृत करता है।

उसके बाद, ग्राहक रिसोर्स के लिए रिसोर्स सर्वर को अनुरोध टोकन देकर अनुरोध करता है।

संसाधन सर्वर प्रवेश टोकन को मान्य करता है और संरक्षित संसाधन प्रदान करता है।

क्लाइंट संसाधन टोकन को सुरक्षित सर्वर से सुरक्षित अनुरोध करता है, जिसमें टोकन एक्सेस किया जाता है, जहां संसाधन सर्वर उसे मान्य करता है और यदि मान्य है तो अनुरोध करता है। पहुंच टोकन समाप्त होने तक यह चरण दोहराता रहता है।

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

ग्राहक ताज़ा टोकन देने के द्वारा प्राधिकरण सर्वर के साथ प्रमाणन करता है।

प्राधिकरण सर्वर फिर ग्राहक को प्रमाणीकरण करके ताज़ा टोकन को मान्य करता है और एक नया पहुंच टोकन जारी करता है, यदि यह मान्य है।

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

हम इस तरह के प्रयोजन के लिए उपयोग और ताज़ा करने के लिए उपयोग कर सकते हैं। जब ऐक्सेस टोकन के साथ एक एपीआई लागू किया जाता है, तो संसाधन सर्वर प्रवेश अधिकारों के लिए कैश की जांच करता है। यदि कोई नया एक्सेस अनुदान है, तो यह तुरंत परिलक्षित नहीं होता है एक बार प्रवेश टोकन की समय सीमा समाप्त होने पर (30 मिनट में कहें) और क्लाइंट ताज़ा टोकन का उपयोग करके एक नया पहुंच टोकन जेनरेट करता है, तो कैश को अद्यतित उपयोगकर्ता पहुंच के साथ अद्यतन डीबी से अद्यतन किया जा सकता है।

दूसरे शब्दों में, हम हर एपीआई कॉल से ताज़ा टोकन का उपयोग करने के लिए पहुंच टोकन पीढ़ी की स्थिति में प्रवेश टोकन का उपयोग कर महंगे परिचालनों को स्थानांतरित कर सकते हैं।

ताज़ा करें टोकन प्राधिकरण सर्वर द्वारा बनाए रखा जाता है प्रवेश टोकन स्वयं-निहित हैं, इसलिए संसाधन सर्वर इसे बिना भंडार के सत्यापित कर सकता है जो मान्यकरण के मामले में पुनर्प्राप्ति का प्रयास बचाता है। चर्चा में लापता एक और मुद्दा आरएफसी 6749 # पेज -55 से है

"उदाहरण के लिए, प्राधिकरण सर्वर ताज़ा टोकन रोटेशन को रोजगार दे सकता है जिसमें प्रत्येक प्रवेश टोकन ताज़ा प्रतिक्रिया के साथ एक नया ताज़ा टोकन जारी किया जाता है। पिछले रिफ़्रेश टोकन अधिकृत है, लेकिन प्राधिकरण सर्वर द्वारा बनाए रखा है। अगर एक ताज़ा टोकन समझौता किया जाता है और बाद में इसके द्वारा उपयोग किया जाता है दोनों हमलावर और वैध ग्राहक, उनमें से एक एक अमान्य रीफ्रेश टोकन पेश करेगा, जो उल्लंघन के प्राधिकरण सर्वर को सूचित करेगा। "

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