एक्सेस टोकन / OAuth आधारित प्रमाणीकरण सेटअप करें
OAuth (ओपन ऑथराइजेशन) एक ओपन स्टैण्डर्ड है जो टोकन-आधारित प्रमाणीकरण और प्राधिकरण प्रोटोकॉल के लिए उपयोग होता है, जिसका इस्तेमाल सिंगल साइन-ऑन (SSO) प्रदान करने के लिए किया जा सकता है। OAuth किसी अंतिम उपयोगकर्ता के अकाउंट की विशेष जानकारी को थर्ड-पार्टी सेवाओं, जैसे Facebook आदि, द्वारा उपयोग करने की अनुमति देता है बिना उपयोगकर्ता का पासवर्ड उजागर किए। यह अंतिम उपयोगकर्ता की ओर से एक मध्यस्थ के रूप में कार्य करता है और सेवा को एक एक्सेस टोकन प्रदान करता है जो विशेष अकाउंट जानकारी साझा करने को अधिकृत करता है।
यह Drupal API प्रमाणीकरण विधि OAuth 2.0 प्रोटोकॉल का उपयोग करके एक सुरक्षा एक्सेस टोकन प्राप्त करती है। यह टोकन आपके Drupal साइट APIs तक पहुँच प्रमाणित करने के लिए उपयोग किया जाता है। OAuth विधि एक उच्च-एन्क्रिप्टेड और सुरक्षित एक्सेस टोकन प्रदान करती है, जिससे यह सुनिश्चित होता है कि आपके Drupal APIs अच्छी तरह से संरक्षित हैं। इसे आपके Drupal REST या JSONAPI एंडपॉइंट्स तक अनधिकृत पहुँच को रोकने के सबसे सुरक्षित तरीकों में से एक माना जाता है। यह मॉड्यूल Drupal 7, Drupal 8, Drupal 9, Drupal 10 और Drupal 11 के साथ संगत है।
सेटअप वीडियो:
OAuth 2.0 में निम्नलिखित तीन पक्ष शामिल हैं:
- उपयोगकर्ता के पास डेटा होता है जिसे API के माध्यम से एक्सेस किया जाता है और वह चाहता है कि एप्लिकेशन इसे एक्सेस कर सके।
- एप्लिकेशन उपयोगकर्ता की ओर से API के माध्यम से डेटा तक पहुँच प्राप्त करना चाहता है।
- API एंडपॉइंट, उपयोगकर्ता के डेटा तक पहुँच को नियंत्रित करता है और सक्षम बनाता है।
API केवल तब ही एक्सेस प्रदान करेगा जब उसे एप्लिकेशन से एक वैध एक्सेस टोकन प्राप्त होगा। एप्लिकेशन एक्सेस टोकन कैसे प्राप्त करता है, यह उपयोग किए जा रहे OAuth स्कीम पर निर्भर करता है।
पूर्व-आवश्यकताएँ: डाउनलोड और इंस्टॉलेशन:
- Drupal REST & JSON API Authentication मॉड्यूल डाउनलोड और इंस्टॉल करें।
- REST UI: यह मॉड्यूल आपको REST मॉड्यूल कॉन्फ़िगर करने के लिए एक यूज़र इंटरफेस प्रदान करता है।
- अपने Drupal साइट के Extend सेक्शन (/admin/modules) के अंतर्गत निम्नलिखित वेब सर्विस मॉड्यूल सक्षम करें:
- JSON: API
- REST UI
- RESTful Web Services
- Serialization
OAuth/Access Token-आधारित API प्रमाणीकरण कॉन्फ़िगर करने के चरण:
- बेहतर समझ के लिए, हम Drupal में get user information API पर OAuth/Access Token-आधारित प्रमाणीकरण जोड़ने का एक उदाहरण लेंगे।
- कृपया ध्यान दें कि Drupal का get user information API उपयोगकर्ता की जानकारी प्राप्त करने के लिए उपयोग किया जाता है।
API सक्षम करें और निम्नानुसार मेथड्स और ऑपरेशन्स असाइन करें:
- पहला चरण API को सक्षम करना है और उस विशेष API पर अनुमति प्राप्त मेथड्स और ऑपरेशन्स असाइन करना है। यह REST UI मॉड्यूल का उपयोग करके किया जा सकता है या आप कॉन्फ़िग को सीधे संशोधित कर सकते हैं।
- REST UI मॉड्यूल का उपयोग करके API सक्षम करने के लिए, REST UI मॉड्यूल के Configure बटन पर क्लिक करें (जैसा कि नीचे दिखाया गया है)
- हमारे उदाहरण को ध्यान में रखते हुए, हम /user/{user} API को सक्षम करना चाहते हैं जो Content सेक्शन के अंतर्गत मौजूद है। इसे सामने दिए गए Enable विकल्प का उपयोग करके सक्षम करें।
- अब, चूंकि हमारा लक्ष्य उपयोगकर्ता की जानकारी प्राप्त करना है, इसलिए निम्नलिखित कॉन्फ़िग्स चुनें:
- Method: GET
- Format: json
- Authentication provider: rest_api_authentication.
- यह miniOrange REST API Authentication मॉड्यूल को आपके API को प्रमाणित करने की अनुमति देगा। जारी रखने के लिए Save Configuration बटन पर क्लिक करें।
OAuth/Access Token-आधारित API प्रमाणीकरण सेटअप करें:
- इस चरण में, हम OAuth/Access Token को API प्रमाणीकरण विधि के रूप में सेट करेंगे। ऐसा करने के लिए, कृपया REST API Authentication मॉड्यूल के API Authentication टैब पर जाएँ (/admin/config/people/rest_api_authentication/auth_settings)
- Enable Authentication चेकबॉक्स चुनें और Save Settings बटन पर क्लिक करें।
- Save Settings बटन के नीचे OAuth/Access Token रेडियो बटन चुनें।
- अब Generate a new Client ID & Secret बटन पर क्लिक करें।
- Client ID और Secret को संभालकर रखें क्योंकि इन्हें बाद में Get User Info API को प्रमाणित करते समय उपयोग किया जाएगा।
Drupal roles को उपयोगकर्ता की जानकारी देखने की अनुमति दें:
- यदि आवश्यक हो, तो आप non-admin Drupal roles को भी उपयोगकर्ता की जानकारी देखने की अनुमति दे सकते हैं। ऐसा करने के लिए, अपने Drupal साइट के परमिशन सेक्शन (/admin/people/permissions) से Drupal roles को View User Information परमिशन असाइन करें।
यही है!!!
अब चलिए OAuth/Access Token का उपयोग करके प्रमाणीकरण के लिए API कॉल के माध्यम से उपयोगकर्ता की जानकारी प्राप्त करने का प्रयास करते हैं।