यहां कदम से कदम मिलाते हैं। ऐसा लगता है कि आप OAuth को प्रमाणीकरण के लिए उपयोग करने का प्रयास कर रहे हैं, लेकिन ऐसा करने से पहले आपको एक्सेस टोकन प्राप्त करने की आवश्यकता होती है जो आपके एपीआई कॉल करते समय प्रमाणित करने के लिए उपयोग किया जाएगा।
क्योंकि यह OAuth संस्करण 1 का उपयोग कर रहा है, एक्सेस टोकन प्राप्त करने के लिए आपको निम्नलिखित कार्य करने होंगे:
- सबसे पहले, एक एप्लिकेशन सेटअप करें, आवेदन के लिए क्लाइंट आईडी और सीक्रेट का उपयोग करके अनुरोध टोकन (अस्थायी क्रेडेंशियल्स) प्राप्त करने के लिए साइट पर कॉल करें।
- दूसरा, पहले चरण (उपयोगकर्ता-सामना करना, नीचे देखें) से अनुरोध टोकन के साथ आवेदन को अधिकृत करने के लिए साइट पर कॉल करें ।
- तीसरा, प्राधिकरण पूरा हो जाने के बाद, आप तब एक्सेस टोकन प्राप्त करने के लिए साइट पर कॉल करते हैं (अब उस एप्लिकेशन को अधिकृत किया गया है)
मैं पहले कुछ चरणों के लिए पोस्टमैन का उपयोग करने की सलाह देता हूं, क्योंकि उन्हें केवल एक बार पूरा करने की आवश्यकता है। पोस्टमैन भी timestamp
, nonce
और oauth signature
, इसलिए यदि आप एक OAuth पुस्तकालय का उपयोग नहीं कर रहे हैं, तो आप पोस्टमैन का उपयोग करना चाहिए। एक बार आपके पास अपना एक्सेस टोकन होने के बाद आप बिना किसी लाइब्रेरी के CURL के जरिए कॉल कर सकते हैं।
https://www.getpostman.com/
पहला चरण (सेटअप अनुप्रयोग)
WP OAuth 1 प्लगइन स्थापित करें, सक्रिय करें, फिर उपयोगकर्ता> एप्लिकेशन के तहत गोटो मेनू आइटम । नया एप्लिकेशन जोड़ें, नाम और विवरण भरें। कॉलबैक के लिए या तो उपयोगकर्ता को (प्राधिकृत करने के बाद), या oop
आउट-ऑफ-बैंड प्रवाह को पुनर्निर्देशित करने के लिए URL जो आंतरिक पृष्ठ पर रीडायरेक्ट करेगा जो सत्यापनकर्ता टोकन प्रदर्शित करता है (रीडायरेक्ट करने के बजाय)।
https://github.com/WP-API/OAuth1/blob/master/docs/basics/Registering.md
दूसरे चरण में आगे बढ़ने के लिए, आपकी साइट पर कॉल करने की आवश्यकता होती है, जो बनाए गए एप्लिकेशन से क्लाइंट आईडी और क्लाइंट सीक्रेट का उपयोग करके अस्थायी क्रेडेंशियल प्राप्त करने के लिए (अनुरोध टोकन)।
Postman को खोलें, एक नया कॉल बनाएं http://website.com/oauth1/request
, प्राधिकरण टैब पर क्लिक करें, ड्रॉपडाउन से OAuth 1.0 का चयन करें, क्लाइंट कुंजी, क्लाइंट सीक्रेट में प्रवेश करें, हस्ताक्षर विधि सेट करें HMAC-SHA1
, शीर्ष लेख में पैरामेट्स जोड़ें, oauth हस्ताक्षर एनकोड करें, फिर अपडेट अनुरोध पर क्लिक करें
पोस्टमैन आपके लिए हस्ताक्षर, नॉन और टाइमस्टैम्प उत्पन्न करेगा और उन्हें हेडर में जोड़ देगा (आप हेडर टैब के तहत देख सकते हैं)।
भेजें पर क्लिक करें और आपको एक प्रतिक्रिया मिलनी चाहिए जिसमें शामिल हैं oauth_token
और oauth_token_secret
:
ये मूल्य आपके वर्डप्रेस उपयोगकर्ता खाते के तहत आवेदन को अधिकृत करने के लिए अगले चरण में उपयोग किए जाएंगे।
दूसरा चरण (आवेदन को अधिकृत करें)
प्राधिकरण चरण को केवल एक बार पूरा करने की आवश्यकता है, यह चरण उपयोगकर्ता का सामना करना पड़ रहा है, और वह जिसे हर कोई परिचित है। यह चरण आवश्यक है क्योंकि आप OAuth1 का उपयोग कर रहे हैं, और एप्लिकेशन को एक वर्डप्रेस उपयोगकर्ता खाते से जुड़ा होना चाहिए। जब कोई साइट आपको फेसबुक के साथ लॉगिन करने की अनुमति देती है तो सोचें ... वे आपको फेसबुक पर निर्देशित करते हैं जहां आप लॉगिन करते हैं और "अधिकृत करें" पर क्लिक करते हैं ... यह केवल आपके वर्डप्रेस साइट के माध्यम से करने की आवश्यकता है।
मैं इस कदम के लिए आपके वेब ब्राउज़र का उपयोग करने की सलाह देता हूं, क्योंकि आप आसानी से केवल URL में चर सेट कर सकते हैं, और यह एप्लिकेशन को अधिकृत करने के लिए "अधिकृत" पृष्ठ प्रदान करता है।
अपना वेब ब्राउज़र खोलें और URL को अपनी साइट पर टाइप करें, जैसे:
http://website.com/oauth1/authorize
अब इस URL पर जोड़ें, oauth_consumer_key
(क्लाइंट आईडी), oauth_token
और oauth_token_secret
(पिछले चरण से)। मेरे उदाहरण में यह पूर्ण URL है:
http://website.com/oauth1/authorize?oauth_consumer_key=TUPFNj1ZTd8u&oauth_token=J98cN81p01aqSdFd9rjkHZWI&oauth_token_secret=RkrMhw8YzXQljyh99BrNHmP7phryUvZgVObpmJtos3QExG1O
एक बार जब आप प्राधिकरण पर क्लिक करते हैं, तो आपको सत्यापन टोकन के साथ एक और स्क्रीन मिलेगी। मेरे उदाहरण में यह सत्यापन टोकन लौटाया गया हैE0JnxjjYxc32fMr2AF0uWsZm
तीसरा चरण (पहुंच टोकन प्राप्त करें)
अब जब हमने एप्लिकेशन को अधिकृत कर लिया है, तो हमें प्राधिकरण टोकन प्राप्त करने के लिए एक अंतिम कॉल करने की आवश्यकता है जिसका उपयोग आपके सभी एपीआई कॉल करने के लिए किया जाएगा। पोस्टमैन का उपयोग करने जा रहे पहले चरण की तरह (क्योंकि हस्ताक्षर HMAC-SHA1 होना आवश्यक है), और यह इन चरणों को पूरा करना 100 गुना आसान बनाता है।
पोस्टमैन को फिर से खोलें, और URL को बदल दें http://website.com/oauth1/access
टोकन, और टोकन सीक्रेट (पहले चरण से मान) जोड़ना सुनिश्चित करें, फिर URL के नीचे दिए गए बॉक्स दिखाने के लिए Params पर क्लिक करें। Oauth_verifier में बाएं प्रकार पर और दाईं ओर, दूसरे चरण से कोड दर्ज करें, सत्यापन टोकन
अपडेट अनुरोध पर क्लिक करना सुनिश्चित करें, फिर भेजें पर क्लिक करें, और आपको एक प्रतिक्रिया वापस मिलनी चाहिए oauth_token
और oauth_token_secret
... यह वही है जिसे आपको अपने एपीआई कॉल के साथ बनाने की आवश्यकता है! चरण 1 से मूल लोगों को छोड़ दें, इन लोगों को अपने कोड में या कहीं और सुरक्षित बचाएं।
फिर आप अपनी साइट पर एक एपीआई कॉल कर सकते हैं, हेडर को लौटाए गए टोकन और टोकन गुप्त के साथ सेट कर सकते हैं।
जीईटी मापदंडों में, या POST (यदि आवेदन / x-www-form-urlencoded के रूप में एन्कोडेड) के माध्यम से आप इसे कई तरीके से पारित कर सकते हैं। ध्यान रखें कि आप हस्ताक्षर, टाइमस्टैम्प और नॉन पास अवश्य करें। मुझे नहीं पता था कि यह उत्तर मुझे कितना समय लगेगा, इसलिए मैं इसे कल आपके कोड के साथ ऐसा करने पर उदाहरण के साथ अपडेट करूंगा।
मैं रेस्ट एपीआई लॉग को स्थापित करने की दृढ़ता से सलाह देता हूं ताकि आप एपीआई कॉल के लॉग को देख सकें, और देखें कि क्या भेजा गया, लौटाया गया, आदि यह बड़े पैमाने पर डिबेटिंग के साथ मदद करेगा।
https://github.com/petenelson/wp-rest-api-log