OAuth 2.0 प्राधिकरण हैडर


91

मैं एक SDK विकसित करना चाहता हूं जो OAuth 2.0 कार्यों को एनकैप्सूल करता है। मैंने OAuth 1.0 और 2.0 के बीच अंतर की जाँच की है, और मुझे प्राधिकरण हैडर ( 1.0 और 2.0 ) पर कुछ भ्रम है , OAuth 1.0 प्रोटोकॉल मापदंडों को HTTP "प्राधिकरण" हेडर का उपयोग करके प्रेषित किया जा सकता है, लेकिन मुझे यह वर्तमान में वर्णित नहीं मिल सकता है OAuth 2.0 ड्राफ्ट।

क्या OAuth 2.0 प्राधिकरण हेडर का समर्थन करता है?

OAuth 1.0 में आपका हेडर ऐसा दिखेगा:

Authorization: OAuth realm="Example",
    oauth_consumer_key="0685bd9184jfhq22",
    oauth_token="ad180jjd733klru7",
    oauth_signature_method="HMAC-SHA1",
    oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",
    oauth_timestamp="137131200",
    oauth_nonce="4572616e48616d6d65724c61686176",
    oauth_version="1.0"

आपके प्रश्न का उत्तर नहीं दे रहा है लेकिन वहां पहले से ही कई OpenId और OAuth लाइब्रेरी मौजूद हैं, क्या आप सुनिश्चित हैं कि आप पहिया का फिर से आविष्कार करना चाहते हैं?
केन १

हाय केन, मैं OAuth के लिए SDK विकसित नहीं कर रहा हूं, मुझे अपने SDK में कुछ OAuth फ़ंक्शन की आवश्यकता है, इसलिए मैं तीसरे भाग की लाइब्रेरी शुरू नहीं करना चाहता।
जेहंग जंग

जवाबों:


205

हेडर में OAuth2 प्राधिकरण (एक्सेस टोकन) पास करने के लिए एक उदाहरण के लिए खोज करने वालों के लिए (अनुरोध या बॉडी पैरामीटर का उपयोग करने के विपरीत), यहां बताया गया है कि यह कैसे किया जाता है:

Authorization: Bearer 0b79bab50daca910b000d4f1a2b675d604257e42

32
जो कोई भी इस थ्रेड के पार आया है, प्राधिकरण के साथ cURL का उपयोग करने की कोशिश कर रहा है, यहाँ आदेश है: curl -H "Authorization: Bearer $ACCESS_TOKEN" URI
ब्लेक जी

5
त्वरित प्रश्न, जैसा कि मैं इस तरह के उत्तर देख रहा हूं, लेकिन स्पष्टीकरण के बिना: यदि मैं कोड में (HTTPRequest API के माध्यम से) यह कर रहा हूं, तो मैं हेडर-नेम और संबंधित डेटा फ़ील्ड के साथ अपने अनुरोध में हेडर जोड़ता हूं। इस उत्तर में, कौन सा भाग हेडर का नाम है, और कौन सा डेटा है? है यही कारण है, शीर्षक है Authorization: Bearerके साथ 0b...42डेटा के रूप में, या शीर्ष लेख है Authorization:साथ Bearer 0b...42डेटा, या क्या के रूप में? धन्यवाद! (Btw, मैं Oauth2 हूं, अगर यह मायने रखता है।)
ओली

9
Authorizationशीर्ष लेख का नाम है, बृहदान्त्र RFC2616 के खंड 4.2 के अनुसार सभी हेडर में मूल्य से नाम को अलग करता है ।
रिक मैक गिलिस

35

आप अभी भी OAuth 2.0 के साथ प्राधिकरण हेडर का उपयोग कर सकते हैं। OAuth बियरर टोकन के साथ उपयोग के लिए प्राधिकरण हेडर में निर्दिष्ट एक बियरर प्रकार है (जिसका अर्थ है कि क्लाइंट ऐप को केवल टोकन ("भालू") टोकन के साथ प्रस्तुत करना है)। हेडर का मूल्य प्राधिकरण सर्वर से प्राप्त क्लाइंट तक पहुंच टोकन है।

यह इस कल्पना में प्रलेखित है: https://tools.ietf.org/html/rfc6750#section-2.1

उदाहरण के लिए:

   GET /resource HTTP/1.1
   Host: server.example.com
   Authorization: Bearer mF_9.B5f-4.1JqM

जहाँ mF_9.B5f-4.1JqM आपकी OAuth पहुंच टोकन है।


उदाहरण के रूप में OAuth 2.0 दस्तावेज़ दो एक्सेस टोकन प्रकार: बियरर और मैक ( tools.ietf.org/html/rfc6749#section-7.1 )
10

1
दुर्भाग्य से मैक को पूरी तरह से मानकीकृत नहीं किया गया था (समाप्त ड्राफ्ट कल्पना देखें: tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-05 ) और व्यवहार में उपयोग नहीं किया जाता है।
स्कॉट टी।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.