[{"data":1,"prerenderedAt":204},["ShallowReactive",2],{"term-j\u002Fjwt":3,"related-j\u002Fjwt":182},{"id":4,"title":5,"acronym":6,"body":7,"category":161,"description":162,"difficulty":163,"extension":164,"letter":165,"meta":166,"navigation":167,"path":168,"related":169,"seo":175,"sitemap":176,"stem":179,"subcategory":180,"__hash__":181},"terms\u002Fterms\u002Fj\u002Fjwt.md","JWT","JSON Web Token",{"type":8,"value":9,"toc":155},"minimark",[10,15,19,23,26,30,144,148,151],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A JWT is a special kind of token that contains information inside it. It has three parts: a header, a payload (with your user ID, role, etc.), and a signature to prove it wasn't tampered with. The server can verify it without even looking it up in a database.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A JWT is a compact, self-contained token that encodes claims (user data) as a Base64-encoded JSON object and is cryptographically signed. The server can verify authenticity by checking the signature without database lookups. Consists of header.payload.signature.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F Decoded JWT payload:\n{\n  \"sub\": \"user_123\",\n  \"role\": \"admin\",\n  \"exp\": 1740000000,\n  \"iat\": 1739996400\n}\n","json","",[38,39,40,49,56,84,105,123,138],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F Decoded JWT payload:\n",[41,50,52],{"class":43,"line":51},2,[41,53,55],{"class":54},"sMK4o","{\n",[41,57,59,62,66,69,72,75,79,81],{"class":43,"line":58},3,[41,60,61],{"class":54},"  \"",[41,63,65],{"class":64},"spNyl","sub",[41,67,68],{"class":54},"\"",[41,70,71],{"class":54},":",[41,73,74],{"class":54}," \"",[41,76,78],{"class":77},"sfazB","user_123",[41,80,68],{"class":54},[41,82,83],{"class":54},",\n",[41,85,87,89,92,94,96,98,101,103],{"class":43,"line":86},4,[41,88,61],{"class":54},[41,90,91],{"class":64},"role",[41,93,68],{"class":54},[41,95,71],{"class":54},[41,97,74],{"class":54},[41,99,100],{"class":77},"admin",[41,102,68],{"class":54},[41,104,83],{"class":54},[41,106,108,110,113,115,117,121],{"class":43,"line":107},5,[41,109,61],{"class":54},[41,111,112],{"class":64},"exp",[41,114,68],{"class":54},[41,116,71],{"class":54},[41,118,120],{"class":119},"sbssI"," 1740000000",[41,122,83],{"class":54},[41,124,126,128,131,133,135],{"class":43,"line":125},6,[41,127,61],{"class":54},[41,129,130],{"class":64},"iat",[41,132,68],{"class":54},[41,134,71],{"class":54},[41,136,137],{"class":119}," 1739996400\n",[41,139,141],{"class":43,"line":140},7,[41,142,143],{"class":54},"}\n",[11,145,147],{"id":146},"when-youll-hear-this","When You'll Hear This",[16,149,150],{},"\"Decode the JWT to get the user's role.\" \u002F \"The JWT expires after 1 hour — use a refresh token.\"",[152,153,154],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":156},[157,158,159,160],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":146,"depth":51,"text":147},"backend","A JWT is a special kind of token that contains information inside it. It has three parts: a header, a payload (with your user ID, role, etc.","intermediate","md","j",{},true,"\u002Fterms\u002Fj\u002Fjwt",[170,171,172,173,174],"Token","Authentication","OAuth","Session","Header",{"title":5,"description":162},{"changefreq":177,"priority":178},"weekly",0.7,"terms\u002Fj\u002Fjwt",null,"4CHgUHXTPsK5YGJc6k9ogyIH56WfGPzUV40-6P7r0tg",[183,189,193,197,200],{"title":171,"path":184,"acronym":185,"category":186,"difficulty":187,"description":188},"\u002Fterms\u002Fa\u002Fauthentication","AuthN","security","beginner","Authentication is proving you are who you say you are.",{"title":174,"path":190,"acronym":180,"category":191,"difficulty":187,"description":192},"\u002Fterms\u002Fh\u002Fheader","networking","Headers are the metadata attached to HTTP requests and responses — information about the information.",{"title":172,"path":194,"acronym":195,"category":161,"difficulty":163,"description":196},"\u002Fterms\u002Fo\u002Foauth","Open Authorization","OAuth is the system behind 'Login with Google.' Instead of making a new account, you let Google vouch for you.",{"title":173,"path":198,"acronym":180,"category":191,"difficulty":187,"description":199},"\u002Fterms\u002Fs\u002Fsession","A session is the server's way of remembering who you are across multiple requests.",{"title":170,"path":201,"acronym":180,"category":202,"difficulty":187,"description":203},"\u002Fterms\u002Ft\u002Ftoken","vibecoding","In AI-land, a token is a chunk of text — roughly 3\u002F4 of a word.",1776518289828]