JWT प्रमाणीकरण
उदाहरण:
-
सबसे पहले, हमें JWT प्राप्त करने के लिए एक API कॉल करनी होगी। फिर हम Drupal API को प्रमाणीकरण के लिए उस टोकन का उपयोग करेंगे ताकि एक बेसिक पेज बनाया जा सके।
-
हम POST अनुरोध करके JWT प्राप्त कर सकते हैं जिसमें उपयोगकर्ता का Drupal उपयोगकर्ता नाम और पासवर्ड होगा। उपयोगकर्ता नाम और पासवर्ड को base64-encoded प्रारूप में भेजना आवश्यक है। आप संदर्भ के लिए नीचे दिए गए अनुरोध प्रारूप को देख सकते हैं।
अनुरोध: POST <your_drupal_base_url>/rest_api/id_token
हेडर: Authorization: Basic base64encoded <username:password>
Accept: application/jsonCURL अनुरोध प्रारूप-
curl --location --request POST '<your_drupal_base_url>/rest_api/id_token' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic base64encoded <username:password>'
-
आप Drupal से JWT प्राप्त करने के लिए Postman अनुरोध की छवि भी देख सकते हैं।
अनुरोध:
-
एक सफल प्रतिक्रिया में JWT और उसका टोकन समाप्ति समय मिलेगा। (नीचे दी गई छवि देखें)
-
यदि आपको प्रतिक्रिया में कोई त्रुटि प्राप्त होती है, तो आप नीचे दी गई तालिका में त्रुटि विवरण और संभावित समाधान देख सकते हैं।
त्रुटि | विवरण |
INVALID_CREDENTIALS |
यदि उपयोगकर्ता नाम या पासवर्ड गलत है तो यह त्रुटि प्राप्त होगी। उदाहरण: |
प्राप्त JWT का उपयोग करके Drupal REST APIs को प्रमाणीकरण करें:
- JWT का उपयोग करके प्रमाणीकरण करने के लिए, Authorization हेडर में प्राप्त JWT को Bearer टोकन के रूप में जोड़ें।
अनुरोध: POST <drupal_base_url>/node?_format=json
हेडर: Authorization: Bearer received_JWT
Accept: application/json
बॉडी:
{
"type":[
{"target_id":"page"}
],
"title":[
{"value":"Drupal Rest API Authentication"}
],
"body":[
{"value":"Page created using the JWT Authentication."}
]
}CURL अनुरोध प्रारूप-
curl --location --request POST '<drupal_base_url>/node?_format=json' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <received_JWT>' \
--data-raw '
{
"type":[{"target_id":"page"}],
"title":[{"value":"Drupal Rest API Authentication"}],
"body":[{"value":"Page created using the JWT Authentication."}]
}'
JWT-आधारित प्रमाणीकरण का उपयोग करके पेज बनाने का एक नमूना अनुरोध:
- आप इसके लिए Postman अनुरोध का भी संदर्भ ले सकते हैं:
- एक सफल प्रतिक्रिया कुछ इस प्रकार दिखेगी:
- आप Drupal के कंटेंट टैब में बनाए गए पेज को देख सकते हैं।
-
त्रुटि प्रतिक्रियाएँ और संभावित समाधान:
त्रुटि | विवरण |
MISSING_AUTHORIZATION_HEADER |
जब आप API अनुरोध में Authorization हेडर नहीं भेजते या आपका सर्वर इसे किसी कारण से हटा देता है, तो यह त्रुटि प्राप्त होगी। उदाहरण: |
INVALID_AUTHORIZATION_HEADER_TOKEN_TYPE |
जब आप Authorization हेडर भेजते हैं लेकिन टोकन प्रकार Bearer नहीं होता है, तब यह त्रुटि होती है। उदाहरण: |
TOKEN_EXPIRED |
जब आप Authorization हेडर भेजते हैं लेकिन टोकन की वैधता समाप्त हो चुकी होती है, तब यह त्रुटि प्राप्त होती है। उदाहरण: |
USER_INFORMATION_NOT_FOUND |
जब आप उपयोगकर्ता जानकारी प्राप्त करने का प्रयास करते हैं और वह नहीं मिलती, तब यह त्रुटि प्राप्त होती है। उदाहरण: |
INVALID_SIGNATURE |
जब टोकन का हस्ताक्षर मान्य नहीं होता, तब यह त्रुटि प्राप्त होती है। उदाहरण: |
लेख स्रोत: Drupal प्रलेखन