मैं एक REST API में कुकीज़ का उपयोग नहीं होता। फॉर्म प्रमाणीकरण एक कुकी-आधारित विधि है। इसके बजाए, कॉलर को हेडर में प्रत्येक अनुरोध के साथ प्रमाणीकरण प्रमाण-पत्र, या अनुरोध पैरामीटर के रूप में प्रदान करना चाहिए।
उदाहरण के लिए, आप उपयोगकर्ता नाम और पासवर्ड संचारित करने के लिए मूल प्रमाणीकरण का उपयोग करें, या कुछ एन्क्रिप्टेड पहुँच टोकन के साथ एक कस्टम प्रमाणीकरण शीर्ष लेख (जो बहुत RESTful नहीं है) हो सकता है। आप OAuth को भी कार्यान्वित कर सकते हैं, जहां अनुरोधकर्ता प्रत्येक अनुरोध के साथ पहुंच टोकन प्रदान करेगा।
मैं अपने कोड में प्रमाणीकरण प्रदर्शन करने के लिए एक कस्टम AuthorizeAttribute
लिखना चाहते हैं, कि आप नियंत्रण का एक बहुत कुछ देता है। वैकल्पिक रूप से, आप नियंत्रक बेस क्लास का उपयोग कर सकते हैं और OnAuthorization
विधि को ओवरराइड कर सकते हैं।
एपीआई एक पासवर्ड चुनौती प्रदान नहीं करना चाहिए: एक वेब ऐप्लिकेशन में, एक अनाधिकृत अनुरोध आम तौर पर एक प्रवेश पृष्ठ पर उपयोगकर्ता रीडायरेक्ट करेगा। एक एपीआई में, अनुरोध बस एक त्रुटि कोड वापस करेगा। यदि लागू हो तो एक संवाद के माध्यम से उपयोगकर्ता को चुनौती देने के लिए अब क्लाइंट एप्लिकेशन का काम है। एक मोबाइल ऐप में, आप एक संवाद दिखाना चाहेंगे। OAuth के साथ एक वेब एप्लिकेशन में, आप शायद प्रमाणीकरण सर्वर पर रीडायरेक्ट करना चाहते हैं।
यदि आप अपने आरईएसटी एपीआई का परीक्षण करना चाहते हैं, तो मेरा सुझाव है कि आप REST Console for Google Chrome और cURL का उपयोग करें। पूर्व शुरुआती लोगों के लिए आसान है और एक अच्छा जीयूआई के साथ आता है जबकि curl आपको और अधिक निष्ठा और प्रोटोकॉल के बहुत सारे देता है।
संपादित
एक कुछ हद तक पंडिताऊ सूचना: कुछ एपीआई, काफी बड़ी प्रदाताओं में से यहां तक कि उन है, उदा ट्विटर, समय-समय पर 401
स्टेटस कोड लौटाएं, आमतौर पर 0 अनिवार्य (अनिवार्य) WWW-Authenticate
शीर्षलेख को छोड़कर क्योंकि यह ग्राहक को चुनौती देने का उनका इरादा नहीं था।
+1 Google क्रोम के लिए आरईएसटी कंसोल के लिए, उल्लेख करें :) अच्छा है! –
'मैं एक आरईएसटी एपीआई में कुकीज़ का उपयोग नहीं करता' - सहमत है, हालांकि, आप इसे [इस उत्तर] में एक सुरक्षित टोकन जेनरेट करने के लिए उपयोग कर सकते हैं (http://stackoverflow.com/questions/840537/generating- क्रिप्टोग्राफिक- सुरक्षित प्रमाणीकरण-टोकन # 858,724)। – James
@ जेम्स: यह एक बहुत अच्छा मुद्दा है। उपयोगकर्ता नाम और पासवर्ड को हर समय भेजने के बजाए टोकन का उपयोग करना निश्चित रूप से बेहतर होता है, क्योंकि बॉयलरप्लेट कोड को इस तरह से अलग करना आसान है। – mnemosyn