/ / बाहरी अनुप्रयोगों के लिए स्प्रिंग सुरक्षा प्रमाणीकरण - प्रमाणीकरण, ऑउथ, स्प्रिंग-सुरक्षा

बाहरी अनुप्रयोगों के लिए वसंत सुरक्षा प्रमाणीकरण - प्रमाणीकरण, ओथ, वसंत-सुरक्षा

इस सूत्र पर आधारित कुछ अनुवर्ती प्रश्न हैं:

अनुरोध पैरामीटर के आधार पर स्प्रिंग सुरक्षा प्रमाणीकरण

वांछित प्रवाह है:

  1. बाहरी सेवा पहले से ही मेरे आवेदन के साथ पंजीकृत है और मेरे आवेदन द्वारा दी गई उपभोक्ता कुंजी और रहस्य रखती है

  2. बाहरी सेवा उपभोक्ता कुंजी और रहस्य को पारित करके मेरे आवेदन के लिए एक टोकन के लिए अनुरोध भेजती है।

  3. मेरा आवेदन उपभोक्ता कुंजी और रहस्य को प्रमाणित करता है और एक टोकन (एक समाप्ति समय के साथ) प्रदान करता है।

  4. बाहरी एप्लिकेशन बाद के अनुरोधों के लिए टोकन भेजता है जो मेरे आवेदन द्वारा मान्य है (संभवतः उपरोक्त लिंक में दृष्टिकोण का उपयोग करके)।

प्रवाह OAuth 1 के समान लगता है, लेकिन मैं उपयोगकर्ता (फेसबुक या ट्विटर जैसे) के लिए एक लॉगिन और एक्सेस अनुदान पृष्ठ पेश नहीं करना चाहता। उपयोगकर्ता को पर्दे के पीछे प्रमाणित होना चाहिए।

टोकन हैंडलिंग और प्रमाणीकरण के लिए कोड लिखने के बजाय, क्या इसे संबोधित करने के लिए स्प्रिंग सुरक्षा में कोई अन्य विकल्प उपलब्ध है?

इसके अलावा, मैं आवेदन के प्रत्यक्ष उपयोगकर्ताओं के लिए अपने आवेदन के लिए अपने मौजूदा फॉर्म-आधारित लॉगिन को बनाए रखना चाहता हूं।

अग्रिम में धन्यवाद।

उत्तर:

जवाब के लिए 0 № 1

यह 2-पैर वाले OAuth प्रवाह की तरह दिखता है जहां अनुरोध टोकन उपयोगकर्ता द्वारा प्रमाणित प्रामाणिकता के बजाय पूर्व-प्रमाणित है।

इस तरह के प्रवाह को लागू करने के लिए आप स्प्रिंग सिक्योरिटी OAuth का उपयोग कर सकते हैं। OAuth 2 कार्यान्वयन पर एक नज़र डालें:

http://projects.spring.io/spring-security-oauth/docs/oauth2.html

या वैकल्पिक रूप से आप OAuth 1 को संशोधित कर सकते हैं।2-पैर की प्रक्रिया को सही ढंग से समर्थन करने के लिए 0 कार्यान्वयन। मैं एक पोस्ट डालकर समझाता हूं कि वास्तविक 2-लेग्ड प्रक्रिया को प्राप्त करने के लिए स्प्रिंग OAuth 1.0 कार्यान्वयन को कैसे संशोधित किया जाए (उनकी 2-लेग्ड प्रक्रिया वास्तव में 0-लेग्ड कार्यान्वयन है):

http://codehustler.org/blog/spring-security-tutorial-2-legged-oauth-1-0/