आरईएसटी वसंत बूट में उपयोगकर्ताओं के प्रमाणीकरण और प्रमाणीकरण के लिए सबसे अच्छा अभ्यास क्या है?स्प्रिंग बूट रीस्ट टोकन प्रमाणीकरण और प्रमाणीकरण सर्वोत्तम प्रथाओं
मैं मोबाइल के लिए मानक पृष्ठों + रीस्ट एपीआई के साथ वेब ऐप बना रहा हूं। मैंने वसंत सुरक्षा के बारे में कई लेखों को देखा और मूल रूप से उनमें से अधिकतर किसी प्रकार के फिटलर दृष्टिकोण के साथ जाते हैं जो आरईएसटी कॉल को अनुमति या ब्लॉक करेगा। मेरे मामले में, हालांकि, मेरे पास कुछ लेखक तर्क है कि उपयोगकर्ता कौन है। उदाहरण के लिए, /update
API है जो उपयोगकर्ता की जानकारी अपडेट करता है, और उपयोगकर्ता स्वयं को अपडेट कर सकता है, लेकिन अन्य व्यक्ति को अपडेट नहीं कर सकता है।
- उपयोगकर्ता प्रमाणन API कॉल और
- प्रणाली, लघु जीवन टोकन जेनरेट करता बचाता है यह डेटाबेस है में नाम/पासवर्ड या कुकी पारित: शुरू में मैं अगले प्रमाणन स्कीमा का उपयोग करने के बारे में सोचा।
- उपयोगकर्ता को यह टोकन मिलता है, उसकी कुकी अपडेट करता है (इसलिए वेब एप्लिकेशन में जेएस इसे पढ़ और उपयोग कर सकता है)
- जब आरईएसटी कॉल कुकीज़ को पारित किया जा रहा है। नियंत्रक पर, टोकन निकाला जाता है, समाप्ति के लिए चेक किया जाता है, टोकन को सत्यापित करने और उपयोगकर्ता आईडी प्राप्त करने के लिए डेटाबेस को क्वेरी किया जाता है।
- उपयोगकर्ता आईडी के आधार पर, आरईएसटी को अनुमति या अवरुद्ध किया जाएगा।
क्या यह लागू करने का सही दृष्टिकोण है? वसंत बूट सुरक्षा के बारे में लेख पढ़ने के बाद मेरे सिर में एक बहुत बड़ी गड़बड़ है। कम से कम: सत्र ऑथ मेरे लिए काम नहीं करेगा (REST स्टेटलेस है)। मैं वहां लॉगिन/पासवर्ड संग्रहीत किए बिना मोबाइल डिवाइस के लिए ऑथ बनाना चाहता हूं।
क्या यह आरईएसटी शरीर में ही इस टोकन को पारित करने के लिए समझ में आता है? जीईटी विधि के मामले में क्या?
आपके ज्ञान को साझा करने के लिए बहुत धन्यवाद।
बस उत्सुक है, लेकिन आप क्या सोचते हैं लाभ टोकन राज्य प्रमाणीकरण राज्य में एक डेटाबेस में संग्रहीत में संग्रहित की है सत्र (जो ज्यादा के साथ जब से तुम सब पर दृढ़ता से निपटने के लिए की जरूरत नहीं है काम करने के लिए आसान है)? –
बाकी स्टेटलेस है। कोई सत्र नहीं है और दूसरा: दोनों मामलों में (सत्र के साथ भी), आपको कहीं सत्र सत्रों को स्टोर करने की आवश्यकता होगी। कुछ रेडिस का उपयोग करते हैं, मैं दृढ़ता चाहता हूं। – Tigran
सुरक्षा की जरूरत है राज्य। और टीसीपी राज्यपूर्ण है। तो यदि आप उनमें से किसी एक का उपयोग करना चाहते हैं तो आप स्टेटलेस नहीं होंगे। यह stackoverflow पर टिप्पणी में करने के लिए एक व्यर्थ चर्चा है, लेकिन मुझे लगता है कि आप चाहिए अपनी प्राथमिकताएं फिर से मूल्यांकन (या फिर से परिभाषित "स्टेटलेस")। –