JWT टोकन डिकोड और प्रिंट करें
JWT टोकन के अंदर एक नज़र डालें
यहां कुछ प्रभावी विधियाँ हैं जिनका उपयोग कमांड लाइन से JWT टोकन को डिकोड और प्रिंट करना के लिए किया जा सकता है:
1. jq
का उपयोग करके
jq
उपकरण का उपयोग JWT टोकन को डिकोड और सुंदर रूप से प्रिंट करने के लिए किया जा सकता है:
-
कमांड:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
यह JWT को इसके घटकों (हेडर और पेलोड) में विभाजित करता है, उन्हें बेस 64 से डिकोड करता है और उन्हें JSON के रूप में फॉर्मेट करता है।
-
उदाहरण:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. बैश स्क्रिप्ट
एक विशेष बैश स्क्रिप्ट base64
और jq
का उपयोग करके JWT टोकन को डिकोड कर सकता है:
-
स्क्रिप्ट:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS "
-
इस स्क्रिप्ट को एक फ़ाइल (उदाहरण के लिए
decode_jwt.sh
) में सहेजें, इसे निष्पादन योग्य बनाएं (chmod +x decode_jwt.sh
), और अपने टोकन के साथ इसे निष्पादित करें।
3. Zsh फ़ंक्शन
अपने .zshrc
फ़ाइल में निम्नलिखित फ़ंक्शन जोड़ें ताकि त्वरित पहुंच हो सके:
- फ़ंक्शन:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
यह ओपनएसएल और पायथन के json.tool
का उपयोग करके हेडर और पेलोड को डिकोड करता है और उन्हें फॉर्मेट करता है।
4. jwt-cli
का उपयोग करके
jwt-cli
उपकरण को इस्तेमाल करके JWT को आसानी से डिकोड करें:
-
इंस्टॉलेशन:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli
-
कमांड:
jwt-cli decode
यह उपकरण डिकोड के अलावा एनकोडिंग और साइनिंग JWT का भी समर्थन करता है[2]।
5. OpenSSL के साथ एक छोटा वनलाइनर
अतिरिक्त उपकरणों के बिना एक त्वरित समाधान के लिए:
- कमांड:
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
यह awk
का उपयोग टोकन को विभाजित करने, base64
का उपयोग डिकोड करने और पायथन का उपयोग करके आउटपुट को फॉर्मेट करने के लिए करता है।