2012-04-03 7 views
9

OAuth युक्ति की धारा 6.1.1. Consumer Obtains a Request Token में कहा गया है कि आप एक अनुरोध है कि निम्न पैरामीटर शामिल भेजना चाहिए:"क्या" oauth_signature साइन करता है?

oauth_signature: 
    The signature as defined in Signing Requests. 

लेकिन आप अनुरोध कैसे प्रवेश कर सकते हैं, तो oauth_signature ही यह का हिस्सा है? मेरा मतलब है, "तुम क्या कहते हो? oauth_signature को छोड़कर सभी फ़ील्ड या क्या?

उदाहरण के लिए, The OAuth 1.0 Protocol वे अस्थायी क्रेडेंशियल्स प्राप्त करने की निम्न उदाहरण प्रदान में:

POST /initiate HTTP/1.1 
Host: photos.example.net 
Authorization: OAuth realm="Photos", 
    oauth_consumer_key="dpf43f3p2l4k3l03", 
    oauth_signature_method="HMAC-SHA1", 
    oauth_timestamp="137131200", 
    oauth_nonce="wIjqoS", 
    oauth_callback="http%3A%2F%2Fprinter.example.com%2Fready", 
    oauth_signature="74KNZJeDHnMBp0EMJ9ZHt%2FXKycU%3D" 

लेकिन वे oauth_signature क्षेत्र कैसे मिला? क्या था कि पर हस्ताक्षर किए गए?

क्षमा करें, क्रिप्टो के लिए नया - तो डमी स्पष्टीकरण की सराहना की जाएगी।

उत्तर

7

"हस्ताक्षर आधार स्ट्रिंग" पर हस्ताक्षर किए जा रहे हैं। यह इस विशेष अनुरोध के "सार" को कैप्चर करता है, ताकि इसे गड़बड़ न किया जा सके। (ध्यान दें कि इसमें सब कुछ शामिल नहीं है, विशेष रूप से अनुरोध निकाय नहीं)।

उदाहरण के लिए, HTTP अनुरोध:

POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1 
Host: example.com 
Content-Type: application/x-www-form-urlencoded 
Authorization: OAuth realm="Example", 
       oauth_consumer_key="9djdj82h48djs9d2", 
       oauth_token="kkk9d7dh3k39sjv7", 
       oauth_signature_method="HMAC-SHA1", 
       oauth_timestamp="137131201", 
       oauth_nonce="7d8f3e4a", 
       oauth_signature="bYT5CMsGcbgUdFHObYMEfcx6bsw%3D" 

निम्नलिखित हस्ताक्षर आधार का प्रतिनिधित्व करती है

उदाहरण में आप के लिए एक उदाहरण के आधार स्ट्रिंग के लिए पर पढ़ें जुड़ा हुआ स्ट्रिंग (लाइन ब्रेक केवल प्रदर्शन उद्देश्यों के लिए हैं):

POST&http%3A%2F%2Fexample.com%2Frequest&a2%3Dr%2520b%26a3%3D2%2520q 
%26a3%3Da%26b5%3D%253D%25253D%26c%2540%3D%26c2%3D%26oauth_consumer_ 
key%3D9djdj82h48djs9d2%26oauth_nonce%3D7d8f3e4a%26oauth_signature_m 
ethod%3DHMAC-SHA1%26oauth_timestamp%3D137131201%26oauth_token%3Dkkk 
9d7dh3k39sjv7 
+2

आह! मैं देखता हूं, [धारा 9] (http://oauth.net/core/1.0/#signing_process) 9.1.1 में बताते हुए यह कैसे करना है, इसकी एक स्पष्ट व्याख्या प्रदान करता है कि 'oauth_signature पैरामीटर को बाहर रखा जाना चाहिए।' – drozzy

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