सिग्नेचर बनाना
बेस URL वह URL है जिस पर अनुरोध भेजा जाता है, लेकिन इसमें कोई भी क्वेरी स्ट्रिंग या हैश पैरामीटर शामिल नहीं होते। यहाँ सही प्रोटोकॉल का उपयोग करना महत्वपूर्ण है, इसलिए सुनिश्चित करें कि URL का “https://” भाग API को भेजे गए वास्तविक अनुरोध से मेल खाता हो।
पैरामीटर एकत्र करना
इन मानों को encode करके एक single string में बदलना होगा, जिसका उपयोग बाद में किया जाएगा। यह string बनाने की प्रक्रिया बहुत विशिष्ट है:
- जिन key और value पर signature किया जाएगा, उनमें से हर एक को Percent encode करें।
- encoded key [1] के आधार पर पैरामीटर की सूची को वर्णानुक्रम में sort करें [2]।
- हर key/value pair के लिए:
- output string में encoded key जोड़ें।
- output string में ‘=’ वर्ण जोड़ें।
- output string में encoded value जोड़ें।
- अगर और key/value pair बाकी हैं, तो output string में ‘&’ वर्ण जोड़ें।
सिग्नेचर बेस स्ट्रिंग बनाना
- HTTP Method को अपरकेस में बदलें और आउटपुट स्ट्रिंग को इसी मान के बराबर सेट करें।
- आउटपुट स्ट्रिंग में ‘&’ वर्ण जोड़ें।
- URL को Percent encode करें और उसे आउटपुट स्ट्रिंग में जोड़ें।
- आउटपुट स्ट्रिंग में ‘&’ वर्ण जोड़ें।
- parameter string को Percent encode करें और उसे आउटपुट स्ट्रिंग में जोड़ें।
साइनिंग कुंजी प्राप्त करना
जो मान उस खाते की पहचान करता है, जिसकी ओर से आपका ऐप काम कर रहा है, उसे OAuth token secret कहा जाता है। यह मान कई तरीकों से प्राप्त किया जा सकता है, जिनका वर्णन access token प्राप्त करना में किया गया है।
एक बार फिर, इन मानों को केवल अपने ऐप तक ही सीमित और निजी रखना बहुत महत्वपूर्ण है। अगर आपको लगता है कि आपके मान compromise हो गए हैं, तो अपने token फिर से generate करें (इस पृष्ठ पर दिए गए token वास्तविक अनुरोधों के लिए अमान्य चिह्नित किए गए हैं)।
इन दोनों मानों को मिलाकर एक साइनिंग कुंजी बनाई जाती है, जिसका उपयोग signature generate करने के लिए किया जाएगा। साइनिंग कुंजी बस percent encoded token secret होती है:
ध्यान दें कि कुछ flow, जैसे request token प्राप्त करते समय, ऐसे होते हैं जिनमें token secret अभी ज्ञात नहीं होता। इस स्थिति में, साइनिंग कुंजी में percent encoded consumer secret के बाद ampersand वर्ण ‘&’ होना चाहिए।