मैं एक कठिन समय एक microservice वास्तुकला के लिए एक सभ्य / सुरक्षित प्रमाणीकरण रणनीति का चयन कर रहा हूँ। इस विषय पर मुझे जो एकमात्र SO पोस्ट मिली, वह यह है: माइक्रोसैस आर्किटेक्चर में सिंगल साइन-ऑन
यहाँ मेरा विचार प्रत्येक सेवा में है (उदाहरण के लिए प्रमाणीकरण, संदेश, सूचना, प्रोफ़ाइल आदि) प्रत्येक उपयोगकर्ता के लिए एक अनूठा संदर्भ (तार्किक रूप से तब उसका user_id
) और वर्तमान उपयोगकर्ता के id
लॉग इन होने की संभावना है।
मेरे शोध से, मुझे लगता है कि दो संभावित रणनीतियाँ हैं:
1. साझा वास्तुकला
इस रणनीति में, प्रमाणीकरण ऐप अन्य के बीच एक सेवा है। लेकिन प्रत्येक सेवा को रूपांतरण बनाने में सक्षम होना चाहिए session_id
=> user_id
इसलिए यह मृत सरल होना चाहिए। यही कारण है कि मैंने रेडिस के बारे में सोचा, जो कुंजी: मूल्य को संग्रहीत करेगा session_id:user_id
।
2. फ़ायरवॉल वास्तुकला
इस रणनीति में, सत्र भंडारण वास्तव में मायने नहीं रखता है, क्योंकि यह केवल प्रमाणीकरण ऐप द्वारा नियंत्रित किया जाता है। फिर user_id
अन्य सेवाओं के लिए अग्रेषित किया जा सकता है। मैंने रेल्स + डेविस (+ रेडिस या मेम-कैश्ड, या कुकी स्टोरेज, इत्यादि) के बारे में सोचा लेकिन इसमें संभावनाएँ हैं। केवल एक चीज यह है कि सेवा X को उपयोगकर्ता को प्रमाणित करने की आवश्यकता नहीं होगी।
उन दो समाधानों की तुलना में कैसे करें:
- सुरक्षा
- मजबूती
- scalability
- उपयोग में आसानी
या शायद आप एक और समाधान सुझाएंगे जिसका मैंने यहां उल्लेख नहीं किया है?
मुझे समाधान # 1 बेहतर लगता है, लेकिन इतना डिफ़ॉल्ट कार्यान्वयन नहीं मिला है जो मुझे इस तथ्य में सुरक्षित कर दे कि मैं सही दिशा में जा रहा हूं।
मुझे आशा है कि मेरा प्रश्न बंद नहीं होगा। मैं वास्तव में नहीं जानता कि इसे और कहां से पूछना है।
अग्रिम में धन्यवाद