अरे दोस्तों, ऐसा लगता है कि यह काफी बार चर्चा हुई है, लेकिन मैं रीस्टफुल सेवाओं के साथ प्रमाणीकरण करने के लिए एक सरल, पानी से नीचे सवाल करना चाहता हूं। परिदृश्य इस प्रकार है:पुन: प्रयोक्ता उपयोगकर्ता प्रमाणीकरण सेवा
- एक ऐसी प्रणाली है जो किसी एप्लिकेशन के लिए पंजीकृत उपयोगकर्ताओं को रखती है। सिस्टम इन उपयोगकर्ताओं तक पहुंचने के लिए एक विश्वसनीय API का खुलासा करता है।
- एक फ्रंट-एंड एप्लिकेशन है जिसमें लॉगिन फॉर्म है। आवेदन या तो आंतरिक, या बाहरी हो सकता है।
- फ्रंट-एंड एप्लिकेशन को उपयोगकर्ता को प्रमाणीकृत करने के लिए उपयोगकर्ता सिस्टम में डेटा का उपयोग करने की आवश्यकता है।
अब सवाल यह है कि उपयोगकर्ता के प्रमाणीकरण (उपयोगकर्ता नाम/पासवर्ड) को उपयोगकर्ता सिस्टम में डेटा के विरुद्ध क्लाइंट एप्लिकेशन में दर्ज किया गया है, जैसे कि यह सुरक्षित और निष्पादक है? इस सवाल के लिए, मान लें कि क्लाइंट एप्लिकेशन किसी प्रकार के इंट्रानेट के लिए आंतरिक है लेकिन एप्लिकेशन एक ही मशीन पर नहीं रहेंगे और केवल सेवा के माध्यम से संवाद कर सकते हैं।
मैं एप्लिकेशन को "हाइपर्मियाडिया संचालित" होने का विचार समझता हूं लेकिन हमें फ़िल्टरिंग/खोज सेवाएं प्रदान करने में सक्षम होना चाहिए। उदाहरण के लिए, संसाधनों और नीचे के रूप में एपीआई पर विचार करें:
- http://example.com/users
- प्राप्त करें - पुन: प्राप्त करता सभी उपयोगकर्ताओं (संपर्क, हाइपरमीडिया संचालित)
- पोस्ट - नया उपयोगकर्ता
- PUT/समर्थित नहीं हटा बनाता है
- http://example.com/users/[id]
- प्राप्त करें - आईडी = {id}
- PUT के साथ एक उपयोगकर्ता की एक पूरी प्रतिनिधित्व रिटर्न - अद्यतन उपयोगकर्ता, किसी भी पूर्वनिर्धारित मीडिया प्रकार
- DELETE में लेता है - (उपयुक्त प्राधिकार के साथ) उपयोगकर्ता को हटाता
- पोस्ट समर्थित नहीं
ऊपर के आधार पर, मेरा विचार क्लाइंट अनुप्रयोग उपयोगकर्ता सूची पर मिलता है, उपयोगकर्ता नाम के आधार पर फ़िल्टर है किया जाएगा। सेवा ग्राहक को हैश पासवर्ड और नमक वापस कर देगी, ग्राहक प्रमाणीकरण करेगा।
विचार?
क्या आप सवाल के बारे में अधिक विशिष्ट हो सकते हैं? मुझे समझने में मुश्किल हो रही है कि आप किस तरह की प्रतिक्रिया चाहते हैं। –