§

ನಿಮ್ಮ JWT paste ಮಾಡಿ

Parsing ಮತ್ತು signature verification ಎರಡೂ ಸ್ಥಳೀಯವಾಗಿ ನಡೆಯುತ್ತವೆ. Token ಬಗ್ಗೆ ಏನೂ server ಗೆ ಕಳುಹಿಸಲ್ಪಡುವುದಿಲ್ಲ.
§

ಹೆಡರ್

json
§

ಪೇಲೋಡ್

json
§

Signature verify ಮಾಡಿ

Signature verify ಮಾಡಲು secret ನಮೂದಿಸಿ.

JSON Web Tokens ಭಾರತದ authentication stack ಆಳಿಸುತ್ತವೆ — AWS Cognito ID tokens ಮತ್ತು Razorpay ಮತ್ತು Paytm ನಂತಹ payment gateways sign ಮಾಡಿದ webhook event tokens ವರೆಗೆ. Auth0, Firebase Authentication ಮತ್ತು Keycloak India ನ fintech ಮತ್ತು healthtech startups ನಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲ್ಪಡುತ್ತವೆ. UIDAI Aadhaar e-KYC ನಿಂದ ಕ್ಷೇತ್ರ ದಾಖಲೆಗಳನ್ನು JWT ಮೂಲಕ signed ಆಗಿ ಕಳುಹಿಸಲ್ಪಡುತ್ತವೆ. ಈ decoder ಮೂರು Base64URL segments ಬ್ರೌಸರ್‌ನಲ್ಲಿ split ಮಾಡುತ್ತದೆ — bearer token server-side log ತಲುಪದಂತೆ ಅಥವಾ tab ಬಿಡದಂತೆ.

JSON Web Token ಎಂದರೇನು?

ಒಂದು JSON Web Token (JWT) ಒಂದು ಸಂಕ್ಷಿಪ್ತ, URL-ಸುರಕ್ಷಿತ ಕಟ್ಟು ಆಗಿದ್ದು ಒಂದು ಸಣ್ಣ ಹಕ್ಕು ಮೊತ್ತಕ್ಕಾಗಿ ಬಳಸಲ್ಪಡುತ್ತದೆ. ಇದು ಸ್ಥಿತಿ-ರಹಿತ ಜಾಲ ಅಧಿವೇಶನಗಳು, OAuth/OIDC ಗುರುತು ಟೋಕನ್‌ಗಳು, ಯಂತ್ರ-ಯಂತ್ರ API ದೃಢೀಕರಣ ಮತ್ತು ಸಹಿ ಮಾಡಿದ ಮ್ಯಾಜಿಕ್ ಕೊಂಡಿಗಳಿಗಾಗಿ ಪ್ರಮಾಣಿತ ಪ್ರಮಾಣ-ಪತ್ರ ಸ್ವರೂಪ ಆಗಿದೆ. JWT ಯಾವಾಗಲೂ ಚುಕ್ಕಿಗಳಿಂದ ಜೋಡಿಸಿದ ಮೂರು base64url ವಿಭಾಗಗಳಾಗಿರುತ್ತದೆ: header.payload.signature. ಶಿರೋಟಿಕೆ ಮತ್ತು ಮೊತ್ತ JSON ಆಗಿರುತ್ತದೆ; ಸಹಿ ಮೊದಲ ಎರಡು ವಿಭಾಗಗಳ ಮೇಲೆ ಒಂದು ದ್ವಿಮಾನ MAC ಅಥವಾ ಡಿಜಿಟಲ್ ಸಹಿ ಆಗಿರುತ್ತದೆ.

JWTs ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ?

ಈ ಉಪಕರಣ ಟೋಕನ್ ಡಿಕೋಡ್ ಮಾಡಿದಾಗ ಪ್ರತಿ JWT ಗ್ರಂಥಾಲಯ ಅನುಸರಿಸುವ ಅದೇ ಮೂರು-ಹಂತದ ಮಾರ್ಗ ನಡೆಯುತ್ತದೆ:

  1. ಟೋಕನ್ ಅನ್ನು ಚುಕ್ಕಿಗಳ ಮೇಲೆ ನಿಖರ ಮೂರು ಖಾಲಿ-ರಹಿತ ವಿಭಾಗಗಳಾಗಿ ವಿಭಜಿಸಿ. ಬೇರೆ ಯಾವ ಆಕಾರ ಕೂಡ ಅಸ್ತವ್ಯಸ್ತ ಎಂದು ಪರಿಗಣಿಸಲ್ಪಡುತ್ತದೆ.
  2. ವಿಭಾಗ 0 ಮತ್ತು 1 ಅನ್ನು Base64url-ಡಿಕೋಡ್ ಮಾಡಿ, ನಂತರ ಪ್ರತಿಯನ್ನು JSON.parse ಮಾಡಿ. ಶಿರೋಟಿಕೆ ಅಲ್ಗಾರಿದಮ್ (alg) ಮತ್ತು ಟೋಕನ್ ಮಾದರಿ (typ) ಒಯ್ಯುತ್ತದೆ. ಮೊತ್ತ ಹಕ್ಕುಗಳನ್ನು (sub, exp, iat, ಕಸ್ಟಮ್ ಕೀಗಳು) ಒಯ್ಯುತ್ತದೆ.
  3. ರಹಸ್ಯ ಕೊಟ್ಟಿದ್ದರೆ, ಶಿರೋಟಿಕೆಯಲ್ಲಿರುವ ಅಲ್ಗಾರಿದಮ್ ಬಳಸಿ <segment0>.<segment1> ಮೇಲೆ MAC ಮರುಲೆಕ್ಕ ಮಾಡಿ. ಬೈಟ್‌ಗಳನ್ನು ಮೂರನೇ ವಿಭಾಗಕ್ಕೆ ಹೋಲಿಸಿ.
  4. ಡಿಕೋಡ್ ಮಾಡಿದ ಹಕ್ಕುಗಳ ಜೊತೆ ಪರಿಶೀಲನ ಫಲಿತಾಂಶ ತೋರಿಸಿ, exp ಹಕ್ಕಿನಿಂದ ಲೆಕ್ಕಿಸಿದ ಮಾನವ-ಓದಬಲ್ಲ ಅವಧಿ ಮೀರುವ ಸೂಚಕ ಸೇರಿಸಿ.

ಬ್ರೌಸರ್‌ನಲ್ಲಿ JWTs decode ಮಾಡುವ ಕಾರಣ?

ದೂರಸ್ಥ ದೋಷ ಹುಡುಕುವ ಉಪಕರಣಕ್ಕೆ ನಿಜ, ಬಳಕೆಯಲ್ಲಿರುವ JWT ಅಂಟಿಸುವುದರಿಂದ ಆ ಸೇವೆಯ ದಾಖಲೆಗಳು, ಗಮನಿಸುವ ಸ್ಟ್ಯಾಕ್ ಮತ್ತು ಸೇವೆ ಮಾಹಿತಿ ಕಳಿಸುವ ಯಾವ ಪಾಲುದಾರಕ್ಕೂ ಪ್ರಮಾಣ-ಪತ್ರ ಸೋರಿಕೆ ಆಗುತ್ತದೆ. ತೃತೀಯ-ಪಕ್ಷ ತಾಣ ಟೋಕನ್‌ಗಳನ್ನು ದಾಖಲಿಸುವುದಿಲ್ಲ ಎಂದು ಹೇಳಿದಾಗಲೂ ನೀವು ಅದನ್ನು ಪರಿಶೀಲಿಸಲಾಗುವುದಿಲ್ಲ. ಈ ಉಪಕರಣ ನೀವು ಎಂದಿಗೂ ಆ ರಾಜಿ ಮಾಡಿಕೊಳ್ಳಬೇಕಾಗದಂತೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿದೆ:

  • ಶೂನ್ಯ network: runtime ಗೆ fetch, XMLHttpRequest, ಅಥವಾ sendBeacon calls ಇಲ್ಲ. Decode ಮತ್ತು verify ಮಾಡುತ್ತಿರುವಾಗ DevTools ತೆರೆಯಿರಿ — Network panel ಮೌನವಾಗಿ ಉಳಿಯುತ್ತದೆ.
  • Native Web Crypto: HMAC verification crypto.subtle.importKey ಮತ್ತು crypto.subtle.sign ಬಳಸುತ್ತದೆ, ನಿಮ್ಮ runtime call ಮಾಡುವ ಅದೇ primitives.
  • Static deploy: ಪ್ರತಿ page ಒಂದೇ static HTML file ಆಗಿದ್ದು server endpoint ಇಲ್ಲ. Leak ಮಾಡಲು server ಇಲ್ಲವಾದ್ದರಿಂದ leak ಮಾಡಲು token ಇಲ್ಲ.

ಈ ಟೂಲ್ ಏನನ್ನು verify ಮಾಡುತ್ತದೆ, ಮತ್ತು ಏನನ್ನು ಮಾಡುವುದಿಲ್ಲ?

ಈ ಉಪಕರಣದ ಆವೃತ್ತಿ 1 ಕೇವಲ HMAC-SHA ಕುಟುಂಬದ ಸಹಿಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ:

  • Support ಮಾಡಲ್ಪಟ್ಟಿದೆ: HS256, HS384, HS512. Shared secret ಕೊಟ್ಟರೆ ಟೂಲ್ MAC recompute ಮಾಡಿ compare ಮಾಡುತ್ತದೆ.
  • ಇನ್ನೂ support ಮಾಡಲ್ಪಟ್ಟಿಲ್ಲ: RS256/384/512 (RSA), ES256/384/512 (ECDSA), EdDSA, ಮತ್ತು PS256/384/512 (RSA-PSS). ಇವು PEM ಅಥವಾ JWK ರೂಪದ public key ಅಗತ್ಯಪಡಿಸುತ್ತವೆ ಮತ್ತು follow-up release ಗೆ ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಮುಂದೂಡಲ್ಪಟ್ಟಿವೆ.
  • Refused: alg: "none". ಟೂಲ್ token decode ಮಾಡುತ್ತದೆ ಆದರೆ ಸ್ಪಷ್ಟವಾಗಿ insecure ಎಂದು flag ಮಾಡುತ್ತದೆ — signature validation ನಡೆಯುತ್ತಿಲ್ಲ, ಮತ್ತು ಅಂತಹ token ಒಪ್ಪಿಕೊಳ್ಳುವ ಯಾವ production system ಗೆ serious vulnerability ಇದೆ.

JWT decoding ಉದಾಹರಣೆ ಹೇಗೆ ಕಾಣುತ್ತದೆ?

ಮೇಲಿನ ಇನ್‌ಪುಟ್ ಕ್ಷೇತ್ರಕ್ಕೆ ಪ್ರಮಾಣಿತ RFC 7519 ಉದಾಹರಣ ಟೋಕನ್ ಅಂಟಿಸಿ:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Header {"alg":"HS256","typ":"JWT"} ಗೆ decode ಆಗುತ್ತದೆ ಮತ್ತು payload {"sub":"1234567890","name":"John Doe","iat":1516239022} ಗೆ. Verify panel ನಲ್ಲಿ your-256-bit-secret ನಮೂದಿಸಿ ಮತ್ತು signature check valid ಮರಳಿಸುತ್ತದೆ. Secret ನ ಒಂದು ಅಕ್ಷರ ಬದಲಿಸಿ ಮತ್ತು invalid ಮರಳಿಸುತ್ತದೆ. ಇದ್ಯಾವುದೂ ನಿಮ್ಮ ಬ್ರೌಸರ್ ಬಿಡುವುದಿಲ್ಲ.

ಉತ್ಪಾದನೆಯಲ್ಲಿ ಟೋಕನ್ ದೋಷ ಹುಡುಕಬೇಕಾಗಿದ್ದಾಗ ನಾವು ಬಯಸಿದ JWT ಡಿಕೋಡರ್ ಇದು: ಗೌಪ್ಯತೆ-ಗೌರವಿಸುವ, ವೇಗದ, ಮತ್ತು ರನ್‌ಟೈಮ್ ಬಳಸುವ ಅದೇ ಮೂಲ ಘಟಕಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟ.