JWT డీకోడింగ్ గురించి అవగాహన
JSON Web Tokens (JWT) అనేవి అప్లికేషన్ల మధ్య సురక్షిత డేటా మార్పిడి కోసం ఉపయోగించే చిన్న టోకెన్లు. ఒక JWT చుక్కలతో (.) వేరు చేయబడిన మూడు భాగాలను కలిగి ఉంటుంది:
హెడర్.పేలోడ్.సంతకం
- హెడర్ – టోకెన్ రకం మరియు సైనింగ్ అల్గారిథమ్ను కలిగి ఉంటుంది
- పేలోడ్ – యూజర్ ఐడి, ఎక్స్పైరీ సమయం వంటి క్లెయిమ్లను కలిగి ఉంటుంది
- సంతకం – టోకెన్ మార్చబడలేదని ధృవీకరిస్తుంది
JWT డీకోడ్ చేయడం ద్వారా ఆ టోకెన్ చెల్లుబాటు అవుతుందా లేదా అనే విషయాలను డెవలపర్లు తనిఖీ చేయవచ్చు.
JWT టోకెన్ ఉదాహరణ
కింద ఒక సాధారణ JWT ఉదాహరణ ఉంది:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNjAwMDAwMDAwLCJleHAiOjE5MDAwMDAwMDB9
.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
డీకోడ్ చేయబడింది హెడర్
{
"alg": "HS256",
"typ": "JWT"
}
ఈ టోకెన్ HS256 అల్గారిథమ్ను ఉపయోగిస్తుందని ఇది సూచిస్తుంది.
డీకోడ్ చేయబడింది పేలోడ్
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1600000000,
"exp": 1900000000
}
ముఖ్యమైన ఫీల్డ్ల వివరణ:
- sub – యూజర్ ఐడెంటిఫైయర్ (Subject)
- name – యూజర్ పేరు (Display Name)
- iat – టోకెన్ జారీ చేసిన సమయం
- exp – టోకెన్ కాలపరిమితి ముగిసే సమయం (Expiration)
సిగ్నేచర్ వెరిఫికేషన్
చివరి భాగం సిగ్నేచర్, ఇది వీటిని నిర్ధారిస్తుంది:
- టోకెన్ కంటెంట్ మార్చబడలేదు
- విశ్వసనీయ మూలం నుండి జారీ చేయబడింది
ధృవీకరణ (Verification) వీటి ద్వారా జరుగుతుంది:
- HS256 టోకెన్ల కోసం షేర్డ్ సీక్రెట్
- RS256 టోకెన్ల కోసం JWKS పబ్లిక్ కీ
ధృవీకరణ విఫలమైతే, ఆ టోకెన్ను నమ్మకూడదు.
JWT డీకోడర్ను ఎప్పుడు ఉపయోగించాలి
డెవలపర్లు సాధారణంగా వీటి కోసం డీకోడ్ చేస్తారు:
- లాగిన్ లేదా అథెంటికేషన్ సమస్యలను పరిష్కరించడానికి
- టోకెన్ ఎక్స్పైరీ సమయాన్ని తనిఖీ చేయడానికి
- క్లెయిమ్లను (claims) పరిశీలించడానికి
- API ఇంటిగ్రేషన్ సమయంలో సిగ్నేచర్ను ధృవీకరించడానికి
ఈ టూల్ టోకెన్లను సేవ్ చేయకుండా సురక్షితంగా పరిశీలించడానికి అనుమతిస్తుంది.
తరచుగా అడిగే ప్రశ్నలు (FAQ)
ఇది సమాచారాన్ని సురక్షితంగా పంపడానికి ఉపయోగించే ఒక చిన్న స్ట్రింగ్.
ఇది టోకెన్ను చదవగలిగే JSON ఫార్మాట్లోకి మారుస్తుంది, తద్వారా మీరు దాని వివరాలను చూడవచ్చు.
కాదు. డీకోడింగ్ కేవలం కంటెంట్ను మాత్రమే చూపిస్తుంది.
వెరిఫికేషన్ అంటే టోకెన్ అసలైనదా కాదా అని సిగ్నేచర్ ద్వారా తనిఖీ చేయడం.
అవును. ఇది టోకెన్లను సేవ్ చేయదు. అయితే రియల్ ప్రొడక్షన్ టోకెన్లను బహిరంగంగా షేర్ చేయకండి.
పేలోడ్లోని 'exp' క్లెయిమ్ను చూడండి.
ప్రస్తుత సమయం ఆ టైమ్ స్టాంప్ కంటే ఎక్కువ ఉంటే టోకెన్ చెల్లదు.
ఇది RS256 టోకెన్లను ధృవీకరించడానికి అవసరమైన కీలను అందించే ఒక పబ్లిక్ ఎండ్ పాయింట్.
సాధారణ కారణాలు:
- తప్పు సీక్రెట్ లేదా పబ్లిక్ కీ
- జారీ చేసిన తర్వాత టోకెన్ మార్చబడింది
- తప్పు అల్గారిథమ్ ఉపయోగించడం
- టోకెన్ అప్పటికే ఎక్స్పైర్ అయింది