ਮੁਫ਼ਤ ਪਰਿਵਰਤਕ

JWT ਟੋਕਨ ਡੀਕੋਡਰ

JWT (JSON ਵੈੱਬ ਟੋਕਨ) ਸਿਰਲੇਖ ਨੂੰ ਡੀਕੋਡ ਕਰੋ ਅਤੇ ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਤੁਰੰਤ ਪੇਲੋਡ ਕਰੋ। ਮੁਫਤ, ਨਿੱਜੀ ਅਤੇ ਕਲਾਇੰਟ-ਸਾਈਡ — ਕਿਸੇ ਵੀ ਸਰਵਰ ਨੂੰ ਕੋਈ ਡਾਟਾ ਨਹੀਂ ਭੇਜਿਆ ਗਿਆ।

ਇਸ ਟੂਲ ਬਾਰੇ

JSON ਵੈੱਬ ਟੋਕਨ (JWT) RFC 7519 ਦੁਆਰਾ ਪਰਿਭਾਸ਼ਿਤ ਦੋ ਧਿਰਾਂ ਵਿਚਕਾਰ ਦਾਅਵਿਆਂ ਨੂੰ ਸੰਚਾਰਿਤ ਕਰਨ ਲਈ ਇੱਕ ਸੰਖੇਪ, URL-ਸੁਰੱਖਿਅਤ ਫਾਰਮੈਟ ਹੈ। ਇੱਕ JWT ਬਿੰਦੀਆਂ ਦੁਆਰਾ ਵੱਖ ਕੀਤੇ ਤਿੰਨ ਬੇਸ64url-ਏਨਕੋਡ ਕੀਤੇ ਹਿੱਸੇ ਹਨ: ਸਿਰਲੇਖ (ਐਲਗੋਰਿਦਮ ਅਤੇ ਟੋਕਨ ਦੀ ਕਿਸਮ), ਪੇਲੋਡ (ਦਾਅਵਿਆਂ), ਅਤੇ ਦਸਤਖਤ (ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਪਰੂਫ਼ ਆਫ਼ ਐਟੋਗ੍ਰਾਫਿਕ)। ਸਿਰਲੇਖ ਅਤੇ ਪੇਲੋਡ JSON ਹਨ, URL ਸੁਰੱਖਿਆ ਲਈ base64url-ਏਨਕੋਡ ਕੀਤੇ ਗਏ ਹਨ; ਦਸਤਖਤ ਏਨਕੋਡ ਕੀਤੇ ਸਿਰਲੇਖ ਅਤੇ ਪੇਲੋਡ ਉੱਤੇ ਕਈ ਐਲਗੋਰਿਦਮ (HS256, RS256, ES256, ਅਤੇ ਹੋਰ) ਵਿੱਚੋਂ ਇੱਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

ਇੱਕ JWT ਨੂੰ ਡੀਕੋਡ ਕਰਨਾ — ਇਸਨੂੰ ਹਿੱਸਿਆਂ ਵਿੱਚ ਵੰਡਣਾ ਅਤੇ ਹਰੇਕ ਨੂੰ ਬੇਸ 64-ਡੀਕੋਡਿੰਗ ਕਰਨਾ — ਕਿਸੇ ਗੁਪਤ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਟੋਕਨ ਟੈਕਸਟ ਵਾਲਾ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਇਸਦੇ ਸਿਰਲੇਖ ਅਤੇ ਪੇਲੋਡ ਨੂੰ ਪੜ੍ਹ ਸਕਦਾ ਹੈ। ਹਸਤਾਖਰ, ਹਾਲਾਂਕਿ, ਸਿਰਫ ਗੁਪਤ (HMAC) ਜਾਂ ਜਨਤਕ ਕੁੰਜੀ (ਅਸਮਮਿਤ) ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਡੀਕੋਡਿੰਗ ਨਿਰੀਖਣ ਲਈ ਹੈ; ਤਸਦੀਕ ਉਹ ਹੈ ਜੋ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸਾਬਤ ਕਰਦਾ ਹੈ।

ਇਹ ਡੀਕੋਡਰ ਟੋਕਨ ਨੂੰ ਵੰਡਦਾ ਹੈ, ਹਰੇਕ ਹਿੱਸੇ ਨੂੰ ਅਧਾਰ 64-ਡੀਕੋਡ ਕਰਦਾ ਹੈ, ਸਿਰਲੇਖ ਅਤੇ ਪੇਲੋਡ ਨੂੰ JSON ਵਜੋਂ ਪਾਰਸ ਕਰਦਾ ਹੈ, ਅਤੇ ਨਤੀਜਾ ਦਿਖਾਉਂਦਾ ਹੈ। ਇਹ ਦਸਤਖਤ ਤਸਦੀਕ ਦੀ ਕੋਸ਼ਿਸ਼ ਨਹੀਂ ਕਰਦਾ ਕਿਉਂਕਿ ਇਸ ਲਈ ਗੁਪਤ ਜਾਂ ਜਨਤਕ ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜੋ ਡੀਕੋਡਰ ਕੋਲ ਨਹੀਂ ਹੈ। ਡੀਕੋਡ ਕੀਤਾ ਆਉਟਪੁੱਟ ਸਿਰਫ-ਪੜ੍ਹਨ ਲਈ ਨਿਰੀਖਣ ਹੈ — ਟੋਕਨਾਂ ਨੂੰ ਡੀਬੱਗ ਕਰਨ ਲਈ ਉਪਯੋਗੀ ਹੈ ਪਰ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ ਸਹੀ ਤਸਦੀਕ ਦਾ ਬਦਲ ਨਹੀਂ ਹੈ।

JWTs ਨੂੰ ਡੀਕੋਡ ਕਿਉਂ ਕਰੋ

ਡੀਬੱਗਿੰਗ ਪ੍ਰਮਾਣਿਕਤਾ ਮੁੱਦਿਆਂ ਵਿੱਚ ਲਗਭਗ ਹਮੇਸ਼ਾਂ ਟੋਕਨਾਂ ਦਾ ਨਿਰੀਖਣ ਕਰਨਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਟੋਕਨ ਜੋ ਕੋਡ ਵਿੱਚ ਵੈਧ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ ਵਿੱਚ ਗਲਤ ਦਾਅਵੇ, ਇੱਕ ਅਣਕਿਆਸੀ ਐਲਗੋਰਿਦਮ, ਇੱਕ ਮਿਆਦ ਪੁੱਗਣ ਵਾਲੀ ਸਮਾਂ-ਸਟੈਂਪ, ਜਾਂ ਦਰਸ਼ਕ ਬੇਮੇਲ ਹੋ ਸਕਦੇ ਹਨ। ਟੋਕਨ ਨੂੰ ਡੀਕੋਡ ਕਰਨਾ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਜਾਰੀਕਰਤਾ ਨੇ ਕੀ ਤਿਆਰ ਕੀਤਾ ਹੈ।

ਏਕੀਕਰਣ ਦੇ ਕੰਮ ਦੌਰਾਨ ਟੋਕਨਾਂ ਦੀ ਜਾਂਚ ਕਰਨਾ ਵੀ ਮਦਦ ਕਰਦਾ ਹੈ। ਕਿਸੇ ਤੀਜੀ-ਧਿਰ API ਜਾਂ ਪਛਾਣ ਪ੍ਰਦਾਤਾ ਨਾਲ ਕਨੈਕਟ ਕਰਦੇ ਸਮੇਂ, ਅਸਲ ਦਾਅਵੇ ਦੇ ਨਾਮ, ਫਾਰਮੈਟ ਅਤੇ ਢਾਂਚੇ ਨੂੰ ਪੁਰਾਣੇ ਹੋ ਸਕਦੇ ਦਸਤਾਵੇਜ਼ਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਬਜਾਏ ਸੈਂਪਲ ਟੋਕਨਾਂ ਨੂੰ ਡੀਕੋਡ ਕਰਕੇ ਸਭ ਤੋਂ ਵਧੀਆ ਸਮਝਿਆ ਜਾਂਦਾ ਹੈ।

ਵਰਤਣ ਦਾ ਤਰੀਕਾ

ਟੋਕਨ ਪੇਸਟ ਕਰੋ, ਪਾਰਸ ਕੀਤੀ ਸਮੱਗਰੀ ਪ੍ਰਾਪਤ ਕਰੋ।

  1. ਆਪਣਾ JWT ਪੇਸਟ ਕਰੋ: ਪੂਰਾ ਟੋਕਨ (header.payload.signature) ਨੂੰ ਇਨਪੁਟ ਖੇਤਰ ਵਿੱਚ ਸੁੱਟੋ। ਡੀਕੋਡਰ ਵਿਕਲਪਿਕ ਬੇਅਰਰ ਅਗੇਤਰ ਦੇ ਨਾਲ ਜਾਂ ਬਿਨਾਂ ਟੋਕਨਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ।
  2. ਸਿਰਲੇਖ ਦੀ ਜਾਂਚ ਕਰੋ: ਸਿਰਲੇਖ ਸਾਈਨਿੰਗ ਐਲਗੋਰਿਦਮ (ਐਲਜੀ) ਅਤੇ ਟੋਕਨ ਕਿਸਮ (ਟਾਈਪ) ਦਿਖਾਉਂਦਾ ਹੈ। ਆਮ ਐਲਗੋਰਿਦਮ HS256, RS256, ਅਤੇ ES256 ਹਨ। ਐਲਗ ਲਈ ਦੇਖੋ: ਕੋਈ ਨਹੀਂ, ਜੋ ਕਿ ਇੱਕ ਹਸਤਾਖਰਿਤ ਟੋਕਨ ਨੂੰ ਸੰਕੇਤ ਕਰਦਾ ਹੈ ਅਤੇ ਉਤਪਾਦਨ ਵਿੱਚ ਘੱਟ ਹੀ ਸੁਰੱਖਿਅਤ ਹੁੰਦਾ ਹੈ।
  3. ਪੇਲੋਡ ਦੀ ਜਾਂਚ ਕਰੋ: ਪੇਲੋਡ ਵਿੱਚ ਦਾਅਵੇ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ: iss (ਜਾਰੀਕਰਤਾ), ਸਬ (ਵਿਸ਼ਾ), ਔਡ (ਦਰਸ਼ਕ), exp (ਮਿਆਦ ਸਮਾਪਤੀ), iat (ਜਾਰੀ ਕੀਤਾ ਗਿਆ), ਅਤੇ ਕੋਈ ਵੀ ਐਪਲੀਕੇਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਦਾਅਵੇ। ਸਟੈਂਡਰਡ ਟਾਈਮਸਟੈਂਪ ਯੂਨਿਕਸ ਯੁੱਗ ਸਕਿੰਟ ਹਨ।
  4. ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਪੁਸ਼ਟੀ ਕਰੋ: ਡੀਕੋਡਰ ਦਸਤਖਤ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰਦਾ ਹੈ। ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ, ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ ਉਚਿਤ ਗੁਪਤ ਜਾਂ ਜਨਤਕ ਕੁੰਜੀ ਦੇ ਨਾਲ JWT ਲਾਇਬ੍ਰੇਰੀ ਰਾਹੀਂ ਟੋਕਨ ਚਲਾਓ।

ਆਮ ਵਰਤੋਂ ਦੇ ਮਾਮਲੇ

ਤਕਨੀਕੀ ਵੇਰਵੇ

JWT ਫਾਰਮੈਟ ਬਿੰਦੀਆਂ ਨਾਲ ਜੁੜੇ ਤਿੰਨ ਹਿੱਸੇ ਹਨ। ਹਰੇਕ ਖੰਡ ਬੇਸ64url-ਏਨਕੋਡਡ ਹੈ — ਬੇਸ64 ਦਾ URL-ਸੁਰੱਖਿਅਤ ਰੂਪ ਜੋ + ਅਤੇ / ਦੀ ਬਜਾਏ - ਅਤੇ _ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਪੈਡਿੰਗ ਨੂੰ ਕਈ ਵਾਰ ਛੱਡਿਆ ਜਾਂਦਾ ਹੈ। ਡੀਕੋਡਿੰਗ ਲਈ URL-ਸੁਰੱਖਿਅਤ ਬਦਲਾਂ ਨੂੰ ਅਣਡੂ ਕਰਨ, ਹਿੱਸੇ ਨੂੰ ਪੈਡਿੰਗ ਕਰਨ, ਅਤੇ ਬੇਸ64-ਡੀਕੋਡਿੰਗ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਹੈਡਰ ਅਤੇ ਪੇਲੋਡ ਡੀਕੋਡਿੰਗ ਤੋਂ ਬਾਅਦ JSON ਹਨ। ਦਸਤਖਤ ਖੰਡ ਬਾਈਨਰੀ (ਕੱਚੇ ਦਸਤਖਤ ਬਾਈਟ) ਹੈ ਅਤੇ ਮਨੁੱਖੀ-ਪੜ੍ਹਨਯੋਗ ਨਹੀਂ ਹੈ; ਇਸ ਨੂੰ ਉਪਯੋਗੀ ਹੋਣ ਲਈ ਪੁਸ਼ਟੀਕਰਨ ਕੁੰਜੀ ਦੀ ਲੋੜ ਹੈ।

RFC 7519 ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੇ ਗਏ ਆਮ ਦਾਅਵੇ: iss (ਜਾਰੀਕਰਤਾ), ਸਬ (ਵਿਸ਼ਾ ਪਛਾਣਕਰਤਾ), ਔਡ (ਦਰਸ਼ਕ), ਐਕਸਪ (ਯੂਨਿਕਸ ਯੁੱਗ ਸਕਿੰਟਾਂ ਵਜੋਂ ਮਿਆਦ ਪੁੱਗਣ), nbf (ਟਾਈਮਸਟੈਂਪ ਤੋਂ ਪਹਿਲਾਂ ਨਹੀਂ), iat (ਟਾਈਮਸਟੈਂਪ 'ਤੇ ਜਾਰੀ ਕੀਤਾ ਗਿਆ), jti (ਵਿਲੱਖਣ ਟੋਕਨ ਆਈਡੀ)। ਐਪਲੀਕੇਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਦਾਅਵੇ ਕਿਸੇ ਵੀ ਨਾਮ ਨਾਲ ਪ੍ਰਗਟ ਹੋ ਸਕਦੇ ਹਨ।

ਵਧੀਆ ਅਭਿਆਸ

ਅਕਸਰ ਪੁੱਛੇ ਜਾਣ ਵਾਲੇ ਸਵਾਲ

ਕੀ ਇੱਥੇ ਮੇਰਾ JWT ਪੇਸਟ ਕਰਨਾ ਸੁਰੱਖਿਅਤ ਹੈ?
ਹਾਂ। ਡੀਕੋਡਿੰਗ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੁੰਦੀ ਹੈ — ਟੋਕਨ ਕਦੇ ਵੀ ਕਿਸੇ ਸਰਵਰ ਨੂੰ ਨਹੀਂ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। ਹਾਲਾਂਕਿ, JWT ਪ੍ਰਮਾਣ ਪੱਤਰ ਹਨ — ਉਹਨਾਂ ਨੂੰ ਜਨਤਕ ਤੌਰ 'ਤੇ ਸਾਂਝਾ ਨਾ ਕਰੋ (ਸਕ੍ਰੀਨਸ਼ਾਟ, ਸਟੈਕ ਓਵਰਫਲੋ ਪੋਸਟਾਂ, ਆਦਿ ਵਿੱਚ) ਕਿਉਂਕਿ ਉਹ ਤੁਹਾਡੇ ਖਾਤਿਆਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੇ ਹਨ।
ਕੀ ਇਹ ਸਾਧਨ JWT ਦਸਤਖਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ?
ਇਹ ਟੂਲ ਟੋਕਨ ਸਮੱਗਰੀ ਨੂੰ ਡੀਕੋਡ ਅਤੇ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਦਸਤਖਤ ਤਸਦੀਕ ਲਈ ਗੁਪਤ ਕੁੰਜੀ (HMAC) ਜਾਂ ਜਨਤਕ ਕੁੰਜੀ (RSA/ECDSA) ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜੋ ਤੁਹਾਡੇ ਸਰਵਰ 'ਤੇ ਰਹਿਣੀ ਚਾਹੀਦੀ ਹੈ। ਟੂਲ ਵਰਤੇ ਗਏ ਐਲਗੋਰਿਦਮ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ ਪਰ ਕੁੰਜੀ ਤੋਂ ਬਿਨਾਂ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਮਿਆਰੀ JWT ਦਾਅਵਿਆਂ ਦਾ ਕੀ ਅਰਥ ਹੈ?
iss = ਜਾਰੀਕਰਤਾ, ਸਬ = ਵਿਸ਼ਾ (ਉਪਭੋਗਤਾ ID), exp = ਮਿਆਦ ਪੁੱਗਣ ਦਾ ਸਮਾਂ (ਯੂਨਿਕਸ ਟਾਈਮਸਟੈਂਪ), iat = ਜਾਰੀ ਕੀਤਾ ਗਿਆ, nbf = ਪਹਿਲਾਂ ਨਹੀਂ, aud = ਦਰਸ਼ਕ, jti = JWT ID। ਕਸਟਮ ਦਾਅਵਿਆਂ ਵਿੱਚ ਕੋਈ ਵੀ ਐਪਲੀਕੇਸ਼ਨ-ਵਿਸ਼ੇਸ਼ ਡੇਟਾ ਹੋ ਸਕਦਾ ਹੈ।
ਕੋਈ JWT ਨੂੰ ਡੀਕੋਡ ਕਿਉਂ ਕਰ ਸਕਦਾ ਹੈ?
JWTs ਏਨਕੋਡ ਕੀਤੇ ਗਏ ਹਨ, ਐਨਕ੍ਰਿਪਟਡ ਨਹੀਂ। ਪੇਲੋਡ Base64URL-ਏਨਕੋਡਡ (ਐਨਕ੍ਰਿਪਟਡ ਨਹੀਂ) ਹੈ, ਇਸਲਈ ਕੋਈ ਵੀ ਇਸਨੂੰ ਪੜ੍ਹ ਸਕਦਾ ਹੈ। ਦਸਤਖਤ ਛੇੜਛਾੜ ਨੂੰ ਰੋਕਦਾ ਹੈ, ਪੜ੍ਹਨ ਤੋਂ ਨਹੀਂ। JWT ਪੇਲੋਡਸ ਵਿੱਚ ਕਦੇ ਵੀ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ (ਪਾਸਵਰਡ, SSN) ਸਟੋਰ ਨਾ ਕਰੋ।
ਕੁਝ ਟੋਕਨਾਂ ਵਿੱਚ ਦਸਤਖਤ ਕਿਉਂ ਨਹੀਂ ਹਨ?
ਐਲਗ ਦੇ ਨਾਲ ਟੋਕਨ: ਕਿਸੇ ਕੋਲ ਕੋਈ ਦਸਤਖਤ ਨਹੀਂ ਹਨ। ਉਹ ਵਿਸ਼ੇਸ਼ਤਾ ਦੁਆਰਾ ਵੈਧ JWT ਹਨ ਪਰ ਕੋਈ ਪ੍ਰਮਾਣਿਕਤਾ ਗਾਰੰਟੀ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ ਅਤੇ ਉਤਪਾਦਨ ਵਿੱਚ ਸਵੀਕਾਰ ਨਹੀਂ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਕੀ JWTs ਐਨਕ੍ਰਿਪਟਡ ਹਨ?
ਸਟੈਂਡਰਡ JWT ਪੇਲੋਡ ਸਾਈਨ ਕੀਤੇ ਹੋਏ ਹਨ ਪਰ ਐਨਕ੍ਰਿਪਟਡ ਨਹੀਂ ਹਨ। JWE (JSON ਵੈੱਬ ਐਨਕ੍ਰਿਪਸ਼ਨ, RFC 7516) ਇਨਕ੍ਰਿਪਟਡ ਟੋਕਨਾਂ ਲਈ ਇੱਕ ਵੱਖਰਾ ਫਾਰਮੈਟ ਹੈ। ਜੰਗਲੀ ਵਿੱਚ ਜ਼ਿਆਦਾਤਰ JWTs JWS (ਸਿਰਫ਼ ਦਸਤਖਤ ਕੀਤੇ) ਹਨ।
ਕੀ ਮੇਰਾ ਟੋਕਨ ਸਰਵਰ 'ਤੇ ਅੱਪਲੋਡ ਕੀਤਾ ਗਿਆ ਹੈ?
ਨਹੀਂ। ਡੀਕੋਡਿੰਗ ਤੁਹਾਡੇ ਬਰਾਊਜ਼ਰ ਵਿੱਚ ਹੁੰਦੀ ਹੈ; ਟੋਕਨ ਤੁਹਾਡੀ ਡਿਵਾਈਸ ਨੂੰ ਨਹੀਂ ਛੱਡਦਾ।
JWTs ਆਮ ਤੌਰ 'ਤੇ ਕਿੰਨੇ ਲੰਬੇ ਹੁੰਦੇ ਹਨ?
ਕਿਤੇ ਵੀ ਕੁਝ ਸੌ ਤੋਂ ਕਈ ਹਜ਼ਾਰ ਅੱਖਰ। ਲੰਬਾਈ ਦਾਅਵਿਆਂ ਦੀ ਸੰਖਿਆ ਅਤੇ ਆਕਾਰ ਦੇ ਨਾਲ-ਨਾਲ ਦਸਤਖਤ ਦੀ ਲੰਬਾਈ (ਜੋ ਐਲਗੋਰਿਦਮ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ) 'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ।