2011-11-14 4 views
10

मेरे पास एक एपीआई एंडपॉइंट https://www.example.com/api/authentication है जो उपयोगकर्ता नाम और पासवर्ड इनपुट के रूप में लेता है और प्रमाणीकरण टोकन देता है।मुझे उपयोगकर्ता नाम और पासवर्ड पोस्ट पैरामीटर के बजाय HTTP मूल प्रमाणीकरण का उपयोग क्यों करना चाहिए?

यूज़रनेम और पासवर्ड गुजर के संदर्भ में, मैं (कम से कम) के लिए दो विकल्प हैं, अर्थात् है:

  1. बुनियादी HTTP प्रमाणीकरण (जो HTTP हेडर के हिस्से के रूप साख गुजरता है)
  2. HTTP POST पैरामीटर

मैं समझता हूं कि न तो विधि एन्क्रिप्शन प्रदान करती है (इसलिए HTTPS/SSL का उपयोग)। मैं यह भी समझता हूं कि HTTP GET का उपयोग क्यों करना एक बुरा विचार है।

क्या कोई वास्तविक अंतर है (तथ्य यह है कि बुनियादी प्रमाणीकरण अधिक मूर्खतापूर्ण लगता है) दोनों तरीकों के बीच?

+0

मुझे नहीं लगता कि कोई भी वास्तविक (वास्तविक) अंतर है, अच्छा सवाल हालांकि – inspite

उत्तर

5

अंतर यह है कि मूल प्रमाणीकरण एक अच्छी तरह से निर्दिष्ट चुनौती/प्रतिक्रिया योजना है जो सभी ब्राउज़र समझते हैं और यह वह सर्वर है जो क्लाइंट को यह बताकर शुरू करता है कि उसे किसी क्षेत्र के लिए प्रमाणीकरण की आवश्यकता है। यह ब्राउजर को उस नाम/पासवर्ड को दर्ज करने के लिए उपयोगकर्ता को पॉपअप दिखाने के लिए ट्रिगर करता है, जो आपके द्वारा वर्णित हेडर में तब गुजरता है।

अपने दूसरे उदाहरण में आपको अपने स्वयं के अनुकूलित तरीके से ऐसा करना होगा और उपयोगकर्ता (आदि) के लिए अपना लॉगिन फॉर्म बनाना होगा।

यदि आप ग्राहक से सर्वर पर उपयोगकर्ता नाम/पासवर्ड पास करने के एक ही चरण में इस प्रक्रिया को घटाते हैं तो मुझे इस बात से सहमत होना चाहिए कि इसमें कोई अंतर नहीं है लेकिन बुनियादी प्रमाणीकरण केवल उस से थोड़ा अधिक है।

+0

मैंने यह नहीं सोचा था क्योंकि मैं गैर-ब्राउज़र क्लाइंट से निपट रहा हूं। उत्कृष्ट जवाब – Frank

+2

सावधान रहें: बहुत ही महत्वपूर्ण समस्या यह है कि उपयोगकर्ता द्वारा उचित रूप से प्रमाणित होने के बाद ब्राउज़र को लॉग ऑफ करना बहुत कठिन होता है। कुछ ब्राउज़रों पर आपको प्रत्येक ब्राउज़र उदाहरण को बंद करने की आवश्यकता होती है। लॉग इन करने के लिए आईई का उचित माध्यम है: http://stackoverflow.com/questions/31326/is-there-a-browser-equivalent-to-ies-clearauthenticationcache/8497804#8497804 लेकिन अन्य ब्राउज़र नहीं करते हैं। – AnthonyVO

1

HTTP मूल प्रमाणीकरण कार्यान्वयन वेब संसाधनों तक पहुंच नियंत्रण लागू करने के लिए सबसे सरल तकनीक है क्योंकि इसे कुकीज़, सत्र पहचानकर्ता या लॉगिन पृष्ठों की आवश्यकता नहीं होती है; बल्कि, HTTP बेसिक प्रमाणीकरण HTTP शीर्षलेख में मानक फ़ील्ड का उपयोग करता है, हैंडशेक की आवश्यकता को रोकता है।

संबंधित मुद्दे