REST API में प्राधिकरण शीर्षलेख का कस्टम उपयोग


10

मैं एक REST एपि का निर्माण कर रहा हूं, जहां क्लाइंट सर्टिफिकेट्स का उपयोग करके प्रमाणित किए जाते हैं। इस मामले में एक ग्राहक एक व्यक्तिगत उपयोगकर्ता नहीं है, लेकिन कुछ प्रकार की प्रस्तुति परत है। उपयोगकर्ताओं को एक कस्टम दृष्टिकोण का उपयोग करके प्रमाणित किया जाता है और यह देखने के लिए प्रस्तुति परत की जिम्मेदारी है कि यह ठीक से किया गया है (ध्यान दें: मुझे पता है कि यह उचित दृष्टिकोण नहीं है, लेकिन एपीआई सार्वजनिक नहीं है)।

मैं प्रत्येक अनुरोध (पासवर्ड नहीं) के लिए उपयोगकर्ता नाम पास करना चाहूंगा, लेकिन मुझे यकीन नहीं है कि यह कहां करना है। क्या प्राधिकरण शीर्षक का उपयोग करना अच्छा होगा?

जवाबों:


21

प्राधिकरण हेडर का उपयोग करना सही काम करने जैसा लगता है। यह प्राधिकरण हेडर का संपूर्ण उद्देश्य है।

से http://tools.ietf.org/html/rfc7235#section-4.2 :

"प्राधिकरण" हेडर फ़ील्ड एक उपयोगकर्ता एजेंट को मूल सर्वर के साथ खुद को प्रमाणित करने की अनुमति देता है - आमतौर पर, लेकिन जरूरी नहीं कि, 401 (अनधिकृत) प्रतिक्रिया प्राप्त करने के बाद। इसके मूल्य में क्रेडेंशियल्स होते हैं, जो अनुरोध किए जा रहे संसाधन के दायरे के लिए उपयोगकर्ता एजेंट की प्रमाणीकरण जानकारी रखते हैं।

यदि आपके पास अपना स्वयं का स्कीम दस्तावेज़ है, लेकिन पहिया को सुदृढ़ करने की कोई आवश्यकता नहीं है।


3
यह सिर्फ यह नहीं है लग रहे हैं सही बात की तरह, यह है सही बात। (मैं पूरे दिन इस पर शोध कर रहा हूं) RFC 7235 में धारा 4.1 स्पष्ट रूप से "उदाहरण के लिए" में एक कस्टम स्कीम "न्यूआउथ" के उपयोग को प्रदर्शित करता है, साथ ही एक मानक योजना "बेसिक" के लिए ग्राहक को दोनों में से किसी भी योजना का उपयोग करने की अनुमति देता है। । उस ने कहा, यदि आप "मानक" योजना का उपयोग कर रहे हैं, तो आपको इसका सही उपयोग करना चाहिए। Zach का जवाब सही है और Filip गलत है
स्टीफन पी

3

मैं यह अनुशंसा नहीं करूंगा कि आप किसी मानक HTTP शीर्ष लेख का गैर-मानक उपयोग करें। मुख्य रूप से क्योंकि यह अन्य डेवलपर्स के लिए भ्रामक हो सकता है, जो यह जानते हैं कि Authoriziationहेडर का उपयोग HTTP प्रमाणीकरण में कैसे किया जाता है, लेकिन यह भी कि आपके अनुरोध के परस्पर विरोधी जागरूकता के बारे में आपके स्टैक के अन्य भागों के साथ किसी भी संभावित समस्या से बचने के लिए।

जो भी हो X-Authorization-User, विशेष रूप से आपके उद्देश्यों के लिए एक कस्टम, गैर-मानक हेडर का उपयोग करने के लिए आपको रोकने के लिए कुछ भी नहीं है।


100% सहमत हैं। यदि आप कुछ कस्टम करना चाहते हैं, तो यह है कि X-उपसर्ग हेडर के लिए हैं। यदि आप एक मानक हेडर का उपयोग करने जा रहे हैं, तो इसे असामान्य या अप्रत्याशित किसी भी चीज़ के लिए उपयोग न करें।
कार्सन 63000

2
बस मैंने सोचा कि मुझे उल्लेख करना चाहिए कि "X-" को हटा दिया गया है: stackoverflow.com/questions/3561381/…
Matsen75

इस उत्तर के अनुसार, क्या इसका मतलब यह है कि अमेज़न S3 यह गलत कर रहा है? docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
टॉम लियानज़ा

4
-1। जैसा कि Zach Dennis द्वारा उल्लेख किया गया है, अन्य HTTP हेडर के विपरीत, प्राधिकरण हेडर को विस्तारित करने के लिए डिज़ाइन किया गया है और आपकी स्वयं की प्राधिकरण योजना को परिभाषित करने के तरीके पर स्पष्ट रूप से निर्दिष्ट तरीका है। अखरोट के खोल में, सुनिश्चित करें कि आप एक कस्टम प्राधिकरण योजना नाम का उपयोग करते हैं।
रेयान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.