REST API Authentication मॉड्यूल के साथ Basic Authentication सेटअप करें
Basic Authentication एक बहुत ही सरल और सीधा-सादा Authentication method है। क्लाइंट HTTP requests भेजता है जिसमें Authorization header होता है जो आपके Drupal साइट का base64-encoded यूज़रनेम और पासवर्ड शामिल करता है।
Basic Authentication में, miniOrange API authentication मॉड्यूल पहले यूज़र को उनके Drupal यूज़रनेम और पासवर्ड से authenticate करेगा। यदि यूज़र authenticated है, तभी वह ऑपरेशन कर पाएगा। यह मॉड्यूल Drupal 7, Drupal 8, Drupal 9, Drupal 10, और Drupal 11 के साथ compatible है।
सेटअप वीडियो:
पूर्व आवश्यकताएँ: डाउनलोड और इंस्टॉलेशन:
- Drupal REST & JSON API Authentication मॉड्यूल को डाउनलोड और इंस्टॉल करें।
- REST UI: यह मॉड्यूल आपको REST मॉड्यूल को कॉन्फ़िगर करने के लिए एक user interface प्रदान करता है।
- अपने Drupal साइट के Extend सेक्शन (/admin/modules) के अंतर्गत निम्नलिखित Web Services मॉड्यूल सक्षम करें:
- JSON: API
- REST UI
- RESTful Web Services
- Serialization
Drupal में Basic Authentication method को कॉन्फ़िगर करने के चरण:
- बेहतर समझ के लिए, हम Drupal REST API का उपयोग करके एक नोड प्राप्त करने के लिए Basic authentication जोड़ने का उदाहरण लेंगे।
- कृपया ध्यान दें कि Drupal का /node/{node} API किसी Drupal node की जानकारी प्राप्त करने के लिए उपयोग किया जाता है।
API सक्षम करें, methods और operations असाइन करें:
- पहला कदम API को सक्षम करना और उस API पर अनुमत methods और operations असाइन करना है। यह REST UI मॉड्यूल का उपयोग करके किया जा सकता है या आप कॉन्फ़िग को सीधे संशोधित कर सकते हैं।
- REST UI मॉड्यूल का उपयोग करके API सक्षम करने के लिए, REST UI मॉड्यूल के configure बटन पर क्लिक करें (जैसा कि नीचे दिखाया गया है)।
- हमारे उदाहरण को ध्यान में रखते हुए, हम /node/{node} API को सक्षम करना चाहते हैं जो Content सेक्शन के अंतर्गत है। इसे सक्षम करने के लिए इसके सामने दिए गए Enable विकल्प का उपयोग करें।
- अब, क्योंकि हमारा लक्ष्य नोड जानकारी प्राप्त करना है, निम्नलिखित कॉन्फ़िग्स चुनें:
- Method: GET
- Format: json
- Authentication provider: rest_api_authentication
- यह miniOrange REST API Authentication मॉड्यूल को आपके API को Authenticate करने की अनुमति देगा। आगे बढ़ने के लिए Save Configuration बटन पर क्लिक करें।
Basic Authentication को सक्षम करने के चरण:
- इस चरण में, हम Basic Authentication को API Authentication method के रूप में सेटअप करेंगे। ऐसा करने के लिए, कृपया REST API Authentication मॉड्यूल के API Authentication टैब पर जाएँ (/admin/config/people/rest_api_authentication/auth_settings)।
- Enable Authentication चेकबॉक्स चुनें और ऊपर Settings में Save पर क्लिक करें।
- Save Settings बटन के नीचे Basic Authentication चुनें और select method बटन पर क्लिक करें।
बस इतना ही!!!
अब चलिए Basic authentication का उपयोग करके API कॉल से नोड जानकारी लाने का प्रयास करते हैं।
उदाहरण:
- Drupal में नोड जानकारी प्राप्त करने के लिए, आपको GET request करना होगा जिसमें यूज़र का Drupal यूज़रनेम और पासवर्ड शामिल हो। यूज़रनेम और पासवर्ड का मान base64encoded फ़ॉर्मेट में होना चाहिए। कॉल करने के लिए आप नीचे दिए गए फ़ॉर्मेट का उपयोग कर सकते हैं।
Request: GET <your_drupal_base_url> /node/{node}?_format=json
Header:
Authorization: Basic base64encoded <username:password>
Accept: application/json
Content-Type: application/jsonCURL Request Format-
curl --location --request GET 'drupal_base_url/node/1?_format=json' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic base64encoded <username:password'>
- आप नीचे दिए गए Postman request के चित्र को भी देख सकते हैं:
- एक सफल response वह node जानकारी लौटाता है जिसे आपने बनाया है। (कृपया नीचे दिए गए चित्र को देखें)
- यदि response में कोई error प्राप्त होती है तो आप error description और संभावित समाधानों के लिए नीचे दी गई तालिका देख सकते हैं।
Error |
विवरण |
MISSING_AUTHORIZATION_HEADER |
जब भी आप API request में Authorization Header नहीं भेजते हैं या यदि आपका सर्वर किसी कारण से इसे हटा देता है तो आपको यह error मिलेगा। उदाहरण: |
INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE |
जब आप Authorization header भेजते हैं लेकिन वैध फ़ॉर्मेट में नहीं होता तब आपको यह error मिलेगा। |
USER_NAME_MISSING |
जब मॉड्यूल API कॉल में यूज़रनेम नहीं ढूँढ पाता तब आपको यह error मिलेगा। उदाहरण: |
INVALID_CREDENTIALS |
जब या तो यूज़रनेम या पासवर्ड गलत होता है तब आपको यह error मिलेगा। उदाहरण: |