ಉಚಿತ ಪರಿವರ್ತಕ

JWT ಟೋಕನ್ ಡಿಕೋಡರ್

JWT (JSON ವೆಬ್ ಟೋಕನ್) ಹೆಡರ್ ಅನ್ನು ಡಿಕೋಡ್ ಮಾಡಿ ಮತ್ತು ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ತಕ್ಷಣವೇ ಪೇಲೋಡ್ ಮಾಡಿ. ಉಚಿತ, ಖಾಸಗಿ ಮತ್ತು ಕ್ಲೈಂಟ್-ಸೈಡ್ - ಯಾವುದೇ ಸರ್ವರ್‌ಗೆ ಯಾವುದೇ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲಾಗಿಲ್ಲ.

ಈ ಉಪಕರಣದ ಬಗ್ಗೆ

JSON ವೆಬ್ ಟೋಕನ್‌ಗಳು (JWT) ಎರಡು ಪಕ್ಷಗಳ ನಡುವೆ ಹಕ್ಕುಗಳನ್ನು ರವಾನಿಸಲು ಕಾಂಪ್ಯಾಕ್ಟ್, URL-ಸುರಕ್ಷಿತ ಸ್ವರೂಪವಾಗಿದೆ, ಇದನ್ನು RFC 7519 ನಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. JWT ಎನ್ನುವುದು ಚುಕ್ಕೆಗಳಿಂದ ಬೇರ್ಪಟ್ಟ ಮೂರು base64url-ಎನ್‌ಕೋಡ್ ವಿಭಾಗಗಳು: ಹೆಡರ್ (ಅಲ್ಗಾರಿದಮ್ ಮತ್ತು ಟೋಕನ್ ಪ್ರಕಾರ), ಪೇಲೋಡ್ (ಕ್ಲೈಮ್‌ಗಳು) ಮತ್ತು ಸಹಿ. ಹೆಡರ್ ಮತ್ತು ಪೇಲೋಡ್ JSON ಆಗಿದ್ದು, URL ಸುರಕ್ಷತೆಗಾಗಿ base64url-ಎನ್‌ಕೋಡ್ ಮಾಡಲಾಗಿದೆ; ಸಹಿಯು ಎನ್ಕೋಡ್ ಮಾಡಲಾದ ಹೆಡರ್ ಮತ್ತು ಪೇಲೋಡ್‌ನಲ್ಲಿ ಹಲವಾರು ಅಲ್ಗಾರಿದಮ್‌ಗಳಲ್ಲಿ ಒಂದನ್ನು (HS256, RS256, ES256, ಮತ್ತು ಇತರೆ) ಬಳಸುತ್ತದೆ.

JWT ಅನ್ನು ಡಿಕೋಡಿಂಗ್ ಮಾಡುವುದು - ಅದನ್ನು ವಿಭಾಗಗಳಾಗಿ ವಿಭಜಿಸುವುದು ಮತ್ತು ಪ್ರತಿಯೊಂದಕ್ಕೂ ಬೇಸ್64-ಡಿಕೋಡಿಂಗ್ ಮಾಡುವುದು - ಯಾವುದೇ ರಹಸ್ಯದ ಅಗತ್ಯವಿಲ್ಲ. ಟೋಕನ್ ಪಠ್ಯವನ್ನು ಹೊಂದಿರುವ ಯಾರಾದರೂ ಅದರ ಹೆಡರ್ ಮತ್ತು ಪೇಲೋಡ್ ಅನ್ನು ಓದಬಹುದು. ಆದಾಗ್ಯೂ, ಸಹಿಯನ್ನು ರಹಸ್ಯ (HMAC) ಅಥವಾ ಸಾರ್ವಜನಿಕ ಕೀ (ಅಸಮ್ಮಿತ) ಮೂಲಕ ಮಾತ್ರ ಪರಿಶೀಲಿಸಬಹುದು. ಡಿಕೋಡಿಂಗ್ ತಪಾಸಣೆಗಾಗಿ; ಪರಿಶೀಲನೆಯು ಸತ್ಯಾಸತ್ಯತೆಯನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ.

ಈ ಡಿಕೋಡರ್ ಟೋಕನ್ ಅನ್ನು ವಿಭಜಿಸುತ್ತದೆ, ಬೇಸ್64-ಪ್ರತಿ ವಿಭಾಗವನ್ನು ಡಿಕೋಡ್ ಮಾಡುತ್ತದೆ, ಹೆಡರ್ ಮತ್ತು ಪೇಲೋಡ್ ಅನ್ನು JSON ಎಂದು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ತೋರಿಸುತ್ತದೆ. ಡಿಕೋಡರ್ ಹೊಂದಿರದ ರಹಸ್ಯ ಅಥವಾ ಸಾರ್ವಜನಿಕ ಕೀ ಅಗತ್ಯವಿರುವ ಕಾರಣ ಇದು ಸಹಿ ಪರಿಶೀಲನೆಯನ್ನು ಪ್ರಯತ್ನಿಸುವುದಿಲ್ಲ. ಡಿಕೋಡ್ ಮಾಡಲಾದ ಔಟ್‌ಪುಟ್ ಓದಲು-ಮಾತ್ರ ತಪಾಸಣೆಯಾಗಿದೆ - ಟೋಕನ್‌ಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಉಪಯುಕ್ತವಾಗಿದೆ ಆದರೆ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್‌ನಲ್ಲಿ ಸರಿಯಾದ ಪರಿಶೀಲನೆಗೆ ಬದಲಿಯಾಗಿಲ್ಲ.

JWT ಗಳನ್ನು ಏಕೆ ಡಿಕೋಡ್ ಮಾಡಿ

ಡೀಬಗ್ ಮಾಡುವ ದೃಢೀಕರಣ ಸಮಸ್ಯೆಗಳು ಯಾವಾಗಲೂ ಟೋಕನ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ಕೋಡ್‌ನಲ್ಲಿ ಮಾನ್ಯವಾಗಿ ಕಾಣುವ ಟೋಕನ್ ತಪ್ಪು ಹಕ್ಕುಗಳನ್ನು ಹೊಂದಿರಬಹುದು, ಅನಿರೀಕ್ಷಿತ ಅಲ್ಗಾರಿದಮ್, ಅವಧಿ ಮೀರಿದ ಎಕ್ಸ್‌ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಅಥವಾ ಪ್ರೇಕ್ಷಕರ ಹೊಂದಾಣಿಕೆಯಿಲ್ಲ. ಟೋಕನ್ ಅನ್ನು ಡಿಕೋಡ್ ಮಾಡುವುದರಿಂದ ನೀಡುವವರು ನಿಖರವಾಗಿ ಏನನ್ನು ಉತ್ಪಾದಿಸಿದ್ದಾರೆ ಎಂಬುದನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ.

ಏಕೀಕರಣ ಕೆಲಸದ ಸಮಯದಲ್ಲಿ ಟೋಕನ್ಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು ಸಹ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಥರ್ಡ್-ಪಾರ್ಟಿ API ಅಥವಾ ಐಡೆಂಟಿಟಿ ಪ್ರೊವೈಡರ್‌ಗೆ ಸಂಪರ್ಕಿಸುವಾಗ, ಹಳತಾದ ದಾಖಲೆಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ಮಾದರಿ ಟೋಕನ್‌ಗಳನ್ನು ಡಿಕೋಡಿಂಗ್ ಮಾಡುವ ಮೂಲಕ ನಿಜವಾದ ಕ್ಲೈಮ್ ಹೆಸರುಗಳು, ಸ್ವರೂಪಗಳು ಮತ್ತು ರಚನೆಯನ್ನು ಉತ್ತಮವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತದೆ.

ಬಳಸುವುದು ಹೇಗೆ

ಟೋಕನ್ ಅನ್ನು ಅಂಟಿಸಿ, ಪಾರ್ಸ್ ಮಾಡಿದ ವಿಷಯಗಳನ್ನು ಪಡೆಯಿರಿ.

  1. ನಿಮ್ಮ JWT ಅನ್ನು ಅಂಟಿಸಿ: ಪೂರ್ಣ ಟೋಕನ್ ಅನ್ನು (header.payload.signature) ಇನ್‌ಪುಟ್ ಪ್ರದೇಶಕ್ಕೆ ಬಿಡಿ. ಡಿಕೋಡರ್ ಐಚ್ಛಿಕ ಬೇರರ್ ಪೂರ್ವಪ್ರತ್ಯಯದೊಂದಿಗೆ ಅಥವಾ ಇಲ್ಲದೆಯೇ ಟೋಕನ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ.
  2. ಹೆಡರ್ ಪರೀಕ್ಷಿಸಿ: ಹೆಡರ್ ಸಹಿ ಮಾಡುವ ಅಲ್ಗಾರಿದಮ್ (alg) ಮತ್ತು ಟೋಕನ್ ಪ್ರಕಾರವನ್ನು (ಟೈಪ್) ತೋರಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ಕ್ರಮಾವಳಿಗಳು HS256, RS256, ಮತ್ತು ES256. Alg ಗಾಗಿ ವೀಕ್ಷಿಸಿ: ಯಾವುದೂ ಇಲ್ಲ, ಇದು ಸಹಿ ಮಾಡದ ಟೋಕನ್ ಅನ್ನು ಸಂಕೇತಿಸುತ್ತದೆ ಮತ್ತು ಉತ್ಪಾದನೆಯಲ್ಲಿ ವಿರಳವಾಗಿ ಸುರಕ್ಷಿತವಾಗಿದೆ.
  3. ಪೇಲೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ: ಪೇಲೋಡ್ ಕ್ಲೈಮ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: iss (ವಿತರಕರು), ಉಪ (ವಿಷಯ), ಆಡಿ (ಪ್ರೇಕ್ಷಕರು), ಎಕ್ಸ್‌ಪೈರಿ (ಅವಧಿ ಮುಕ್ತಾಯ), iat (ನಲ್ಲಿ ನೀಡಲಾಗಿದೆ), ಮತ್ತು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಹಕ್ಕುಗಳು. ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳು ಯುನಿಕ್ಸ್ ಯುಗ ಸೆಕೆಂಡುಗಳು.
  4. ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸಿ: ಡಿಕೋಡರ್ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುವುದಿಲ್ಲ. ದೃಢೀಕರಣವನ್ನು ಪರಿಶೀಲಿಸಲು, ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್‌ನಲ್ಲಿ ಸೂಕ್ತವಾದ ರಹಸ್ಯ ಅಥವಾ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯೊಂದಿಗೆ JWT ಲೈಬ್ರರಿಯ ಮೂಲಕ ಟೋಕನ್ ಅನ್ನು ರನ್ ಮಾಡಿ.

ಸಾಮಾನ್ಯ ಬಳಕೆಯ ಪ್ರಕರಣಗಳು

ತಾಂತ್ರಿಕ ವಿವರಗಳು

JWT ಸ್ವರೂಪವು ಚುಕ್ಕೆಗಳಿಂದ ಕೂಡಿದ ಮೂರು ಭಾಗಗಳಾಗಿವೆ. ಪ್ರತಿಯೊಂದು ವಿಭಾಗವು base64url-ಎನ್‌ಕೋಡ್ ಆಗಿದೆ - ಇದು Base64 ನ URL-ಸುರಕ್ಷಿತ ರೂಪಾಂತರವನ್ನು ಬಳಸುತ್ತದೆ - ಮತ್ತು _ ಬದಲಿಗೆ + ಮತ್ತು /, ಪ್ಯಾಡಿಂಗ್‌ನೊಂದಿಗೆ ಕೆಲವೊಮ್ಮೆ ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ. ಡಿಕೋಡಿಂಗ್‌ಗೆ URL-ಸುರಕ್ಷಿತ ಪರ್ಯಾಯಗಳನ್ನು ರದ್ದುಗೊಳಿಸುವುದು, ವಿಭಾಗವನ್ನು ಪ್ಯಾಡ್ ಮಾಡುವುದು ಮತ್ತು ಬೇಸ್64-ಡಿಕೋಡಿಂಗ್ ಅಗತ್ಯವಿದೆ.

ಡಿಕೋಡಿಂಗ್ ಮಾಡಿದ ನಂತರ ಹೆಡರ್ ಮತ್ತು ಪೇಲೋಡ್ JSON ಆಗಿರುತ್ತದೆ. ಸಹಿ ವಿಭಾಗವು ಬೈನರಿ (ಕಚ್ಚಾ ಸಹಿ ಬೈಟ್‌ಗಳು) ಮತ್ತು ಮಾನವ-ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ; ಇದು ಉಪಯುಕ್ತವಾಗಲು ಪರಿಶೀಲನೆ ಕೀ ಅಗತ್ಯವಿದೆ.

RFC 7519 ರಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಸಾಮಾನ್ಯ ಹಕ್ಕುಗಳು: iss (ವಿತರಕರು), ಉಪ (ವಿಷಯ ಗುರುತಿಸುವಿಕೆ), ಆಡಿ (ಪ್ರೇಕ್ಷಕರು), ಎಕ್ಸ್ (ಯುನಿಕ್ಸ್ ಯುಗ ಸೆಕೆಂಡುಗಳಂತೆ ಮುಕ್ತಾಯ), nbf (ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಿಂತ ಮೊದಲು), iat (ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ನಲ್ಲಿ ನೀಡಲಾದ), jti (ವಿಶಿಷ್ಟ ಟೋಕನ್ ID). ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಹಕ್ಕುಗಳು ಯಾವುದೇ ಹೆಸರಿನೊಂದಿಗೆ ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು.

ಅತ್ಯುತ್ತಮ ಅಭ್ಯಾಸಗಳು

ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು

ನನ್ನ JWT ಅನ್ನು ಇಲ್ಲಿ ಅಂಟಿಸುವುದು ಸುರಕ್ಷಿತವೇ?
ಹೌದು. ಡಿಕೋಡಿಂಗ್ ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ನಡೆಯುತ್ತದೆ - ಟೋಕನ್ ಅನ್ನು ಯಾವುದೇ ಸರ್ವರ್‌ಗೆ ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ. ಆದಾಗ್ಯೂ, JWT ಗಳು ರುಜುವಾತುಗಳಾಗಿವೆ - ಅವುಗಳನ್ನು ಸಾರ್ವಜನಿಕವಾಗಿ ಹಂಚಿಕೊಳ್ಳಬೇಡಿ (ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ಗಳು, ಸ್ಟಾಕ್ ಓವರ್‌ಫ್ಲೋ ಪೋಸ್ಟ್‌ಗಳು, ಇತ್ಯಾದಿ.) ಅವರು ನಿಮ್ಮ ಖಾತೆಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡಬಹುದು.
ಈ ಉಪಕರಣವು JWT ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆಯೇ?
ಈ ಉಪಕರಣವು ಟೋಕನ್ ವಿಷಯಗಳನ್ನು ಡಿಕೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಸಹಿ ಪರಿಶೀಲನೆಗೆ ನಿಮ್ಮ ಸರ್ವರ್‌ನಲ್ಲಿ ಉಳಿಯಬೇಕಾದ ರಹಸ್ಯ ಕೀ (HMAC) ಅಥವಾ ಸಾರ್ವಜನಿಕ ಕೀ (RSA/ECDSA) ಅಗತ್ಯವಿದೆ. ಉಪಕರಣವು ಬಳಸಿದ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ ಆದರೆ ಕೀ ಇಲ್ಲದೆ ಪರಿಶೀಲಿಸಲಾಗುವುದಿಲ್ಲ.
ಪ್ರಮಾಣಿತ JWT ಹಕ್ಕುಗಳ ಅರ್ಥವೇನು?
iss = ವಿತರಕರು, ಉಪ = ವಿಷಯ (ಬಳಕೆದಾರ ID), ಎಕ್ಸ್ = ಮುಕ್ತಾಯ ಸಮಯ (ಯುನಿಕ್ಸ್ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್), iat = ನಲ್ಲಿ ನೀಡಲಾಗಿದೆ, nbf = ಮೊದಲು ಅಲ್ಲ, aud = ಪ್ರೇಕ್ಷಕರು, jti = JWT ID. ಕಸ್ಟಮ್ ಹಕ್ಕುಗಳು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್-ನಿರ್ದಿಷ್ಟ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರಬಹುದು.
ಯಾರಾದರೂ JWT ಅನ್ನು ಏಕೆ ಡಿಕೋಡ್ ಮಾಡಬಹುದು?
JWT ಗಳನ್ನು ಎನ್‌ಕೋಡ್ ಮಾಡಲಾಗಿದೆ, ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿಲ್ಲ. ಪೇಲೋಡ್ Base64URL-ಎನ್‌ಕೋಡ್ ಆಗಿದೆ (ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿಲ್ಲ), ಆದ್ದರಿಂದ ಯಾರಾದರೂ ಅದನ್ನು ಓದಬಹುದು. ಸಹಿ ತಿದ್ದುವುದನ್ನು ತಡೆಯುತ್ತದೆ, ಓದುವುದಿಲ್ಲ. ಜೆಡಬ್ಲ್ಯೂಟಿ ಪೇಲೋಡ್‌ಗಳಲ್ಲಿ ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು (ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಎಸ್‌ಎಸ್‌ಎನ್‌ಗಳು) ಎಂದಿಗೂ ಸಂಗ್ರಹಿಸಬೇಡಿ.
ಕೆಲವು ಟೋಕನ್‌ಗಳು ಸಹಿಯನ್ನು ಏಕೆ ಕಳೆದುಕೊಂಡಿವೆ?
ಆಲ್ಗ್ ಹೊಂದಿರುವ ಟೋಕನ್‌ಗಳು: ಯಾವುದಕ್ಕೂ ಸಹಿ ಇಲ್ಲ. ಅವು ಸ್ಪೆಕ್ ಮೂಲಕ ಮಾನ್ಯವಾದ JWT ಗಳಾಗಿವೆ ಆದರೆ ಯಾವುದೇ ದೃಢೀಕರಣ ಖಾತರಿಗಳನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ ಮತ್ತು ಉತ್ಪಾದನೆಯಲ್ಲಿ ಸ್ವೀಕರಿಸಬಾರದು.
JWT ಗಳನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆಯೇ?
ಸ್ಟ್ಯಾಂಡರ್ಡ್ JWT ಪೇಲೋಡ್‌ಗಳನ್ನು ಸಹಿ ಮಾಡಲಾಗಿದೆ ಆದರೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿಲ್ಲ. JWE (JSON ವೆಬ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್, RFC 7516) ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಟೋಕನ್‌ಗಳಿಗೆ ಪ್ರತ್ಯೇಕ ಸ್ವರೂಪವಾಗಿದೆ. ಕಾಡಿನಲ್ಲಿರುವ ಹೆಚ್ಚಿನ JWT ಗಳು JWS (ಸಹಿ ಮಾಡಿರುವುದು ಮಾತ್ರ).
ನನ್ನ ಟೋಕನ್ ಅನ್ನು ಸರ್ವರ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆಯೇ?
ಇಲ್ಲ. ಡಿಕೋಡಿಂಗ್ ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ; ಟೋಕನ್ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಬಿಡುವುದಿಲ್ಲ.
JWT ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಎಷ್ಟು ಕಾಲ ಇರುತ್ತವೆ?
ಕೆಲವು ನೂರರಿಂದ ಹಲವಾರು ಸಾವಿರ ಅಕ್ಷರಗಳವರೆಗೆ ಎಲ್ಲಿಯಾದರೂ. ಉದ್ದವು ಹಕ್ಕುಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಗಾತ್ರ ಮತ್ತು ಸಿಗ್ನೇಚರ್ ಉದ್ದವನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ (ಇದು ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ).