के साथ हर अनुरोध को टोकन एक्सेस चेक करें मैं वर्तमान में अपने रीस्टफुल एपीआई के लिए ओएथ 2.0 आर्किटेक्चर को कार्यान्वित कर रहा हूं।रेडिस
प्रत्येक अनुरोध के साथ मैंने अपने सभी ग्राहकों के लिए प्राधिकृत अनुरोध करने के लिए HTTP शीर्षलेख में एक प्राधिकरण बेयरर टोकन स्थापित किया है।
Authorization: Bearer sdflksd3r4823vkn95-03850432
मैं समझता हूं कि समाप्ति तिथि तक एपीआई में टोकन को स्वीकार करना आम बात है। लेकिन कहें कि क्या उपयोगकर्ता टोकन को रद्द करना चाहता है, तो मुझे प्रत्येक अनुरोध के साथ टोकन की स्थिति की जांच करने की विधि को नियोजित करने की आवश्यकता होगी।
तो मैं प्रत्येक HTTP अनुरोध की जांच के लिए डीबी पर जाने की सोच रहा था। मुझे एहसास है कि प्रदर्शन कारणों से यह अच्छी तरह से स्केल नहीं करेगा।
तो मैं सोच रहा था कि जैसे समाधान Redis पहुंच टोकन स्थिति के बहुत तेज एकल पढ़ने के लिए उपयुक्त होगा?
में मदद करता है मैं निश्चित रूप से एक ब्लूम फ़िल्टर पर विचार कर रहा था। हालांकि मैं यह भी सोच रहा था कि क्या यह सिंगलटन कैश का उपयोग कर एक व्यवहार्य विकल्प –
है यदि आपके पास केवल एक सर्वर है तो आपके पास बहुत अधिक विकल्प हैं क्योंकि आपको केवल एक ही स्थान पर राज्य को बनाए रखना है। रेडिस जैसे बाहरी सर्वर को बनाए रखना राज्य आपको एकाधिक एपीआई सर्वर रखने की अनुमति देता है। एक सिंगलटन केवल तभी काम करता है जब आपके पास एक सर्वर हो। एक और विकल्प एक वितरित मानचित्र (कोहेरेंस, हेज़ेलकास्ट, आदि) होगा। यदि टोकन अपेक्षाकृत कम समाप्ति होते हैं तो आप वितरित मानचित्र से तब भी हटा सकते हैं जब वे इसके आकार को कम करने के लिए समाप्त हो जाते हैं। – sehrope
उत्कृष्ट जवाब। आपका बहुत बहुत धन्यवाद! –