मेरे पिछले काम में एक माइक्रोस्कोप आर्किटेक्चर को लागू करते समय हमने फैसला किया कि सबसे अच्छा तरीका # 1 के साथ संरेखण में था, पहचान सेवा जोड़ें और इसके माध्यम से सेवा पहुंच अधिकृत करें। हमारे मामले में यह टोकन के साथ किया गया था। अगर एक प्राधिकरण टोकन के साथ कोई अनुरोध आया तो हम सेवा सेवा के साथ उपयोगकर्ता के सत्र में पहली कॉल होने पर पहचान सेवा के साथ उस टोकन को सत्यापित कर सकते थे। एक बार टोकन को सत्यापित कर लिया गया था, तो इसे सत्र में सहेजा गया था, इसलिए उपयोगकर्ता के सत्र में आने वाली कॉल को अतिरिक्त कॉल करने की आवश्यकता नहीं थी। टोकन को उस सत्र में रीफ्रेश होने की आवश्यकता होने पर आप एक निर्धारित नौकरी भी बना सकते हैं।
इस स्थिति में हम ओएथ 2.0 एंडपॉइंट के साथ प्रमाणीकरण कर रहे थे और टोकन को हमारे डोमेन पर कॉल के लिए HTTP शीर्षलेख में जोड़ा गया था। सभी सेवाओं को उस डोमेन से रूट किया गया था ताकि हम HTTP शीर्षलेख से टोकन प्राप्त कर सकें। चूंकि हम एक ही अनुप्रयोग पारिस्थितिक तंत्र का हिस्सा थे, प्रारंभिक ओएथ 2.0 प्रमाणीकरण उन अनुप्रयोग सेवाओं की सूची देगा जो उपयोगकर्ता अपने खाते के लिए अनुमति दे रहे हैं।
इस दृष्टिकोण का एक जोड़ा यह था कि पहचान सेवा प्रॉक्सी क्लाइंट लाइब्रेरी प्रदान करेगी जो HTTP अनुरोध फ़िल्टर श्रृंखला में जोड़ा जाएगा और सेवा को प्राधिकरण प्रक्रिया को संभाल लेंगे। सेवा को पहचान सेवा से प्रॉक्सी क्लाइंट लाइब्रेरी का उपभोग करने के लिए कॉन्फ़िगर किया जाएगा। चूंकि हम ड्रॉपविज़ार्ड का उपयोग कर रहे थे, इसलिए यह प्रॉक्सी चलने वाली सेवा प्रक्रिया में फ़िल्टर को बूटस्ट्रैप मॉड्यूल बूटस्ट्रैप कर देगा। इसने पहचान सेवा के अपडेट के लिए अनुमति दी, जिसमें एक विश्वसनीय क्लाइंट साइड अपडेट भी निर्भर सेवाओं द्वारा आसानी से उपभोग किया गया जब तक इंटरफ़ेस महत्वपूर्ण रूप से परिवर्तित नहीं हुआ।
हमारी तैनाती वास्तुकला एडब्ल्यूएस वर्चुअल प्राइवेट क्लाउड (वीपीसी) और हमारी अपनी कंपनी के डेटा केंद्रों में फैली हुई थी। ओएथ 2.0 प्रमाणीकरण सेवा कंपनी के डेटा सेंटर में स्थित थी, जबकि हमारी सभी आवेदन सेवाएं एडब्ल्यूएस वीपीसी में तैनात की गई थीं।
मुझे उम्मीद है कि हमने जो दृष्टिकोण लिया है वह आपके निर्णय के लिए सहायक है। अगर आपके पास कोई अन्य सवाल है तो मुझे बताएं।
स्रोत
2014-12-04 00:29:53
तो इसे पढ़कर, मुझे लगता है कि इस तरह के मुद्दे से निपटने के लिए कोई आधिकारिक मानक तरीका नहीं है? –
आप सही हैं। मैं एसएसओ परिणाम प्राप्त करने के लिए अपने स्वयं के ओएथ प्रदाता का उपयोग कर रहा हूं लेकिन यह एकमात्र तरीका नहीं है। –
मैं इस धागे (और कई और साइटों) पर ठोकर खाई। मैंने इन 2 साइटों को इस संबंध में बहुत उपयोगी पाया: https://medium.facilelogin.com/securing-microservices-with-oauth-2-0-jwt-and-xacml-d03770a9a838 http: // nordicapis। कॉम/कैसे-नियंत्रण-उपयोगकर्ता-पहचान-माइक्रो-सर्विसेज/ – Yogi