Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Json Web Token at Employment Hero
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Luong Vo
September 11, 2018
Programming
44
0
Share
Json Web Token at Employment Hero
Luong Vo
September 11, 2018
More Decks by Luong Vo
See All by Luong Vo
Why our platform needs Redis Sentinel
luongvo
0
99
Performance Monitoring at Employment Hero
luongvo
0
150
Lalaland - A C2C ecommerce site - pitch deck
luongvo
0
450
Skeleton-based Human Action Recognition with Recurrent Neural Network
luongvo
0
250
Ruby Threads
luongvo
1
37
Caching in Ruby
luongvo
1
37
Monitoring system at Employment Hero
luongvo
0
54
Introduction to Docker and Docker Compose
luongvo
0
69
Database migration from Heroku to Amazon Web Services
luongvo
0
77
Other Decks in Programming
See All in Programming
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
2.6k
tRPCの概要と少しだけパフォーマンス
misoton665
2
260
【26新卒研修】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
130
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
0
300
AI-DLC Deep Dive
yuukiyo
9
5.4k
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
110
GoogleCloudとterraform完全に理解した
terisuke
1
180
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
360
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
730
How Swift's Type System Guides AI Agents
koher
0
330
My daily life on Ruby
a_matsuda
2
160
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
620
Featured
See All Featured
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
How to Think Like a Performance Engineer
csswizardry
28
2.6k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
Accessibility Awareness
sabderemane
1
110
Navigating Team Friction
lara
192
16k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
290
Chasing Engaging Ingredients in Design
codingconduct
0
180
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
350
Google's AI Overviews - The New Search
badams
0
1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Transcript
JSON Web Tokens Luong Vo
None
None
None
None
None
None
JSON Web Token
What is JSON Web Tokens
JSON Object To transfer data between two parties digitally signed
Digitally signed JSON Data Signature JSON Web Token
Signature signing algorithm
RSA256
HSA256
Comparison RSA256 HSA256
None
None
JSON API Authentication
Main app Username + password Session token Auth Service Generate
session token Save session token to database But why?
Main app Session token JWT Token Auth Service Generate JWT
Query session token to check But why?
Main app Get/…. + JWT Token { “data”: …. }
Auth Service Validate JWT But why?
Main app Get/…. + JWT Token { “data”: …. }
Auth Service Validate JWT Microservice GRPC call But why?
Microservice API Call !? Oh….
Main app Get/…. + JWT Token { “data”: …. }
Auth Service Validate JW T Microservice Oh….
External system Main app Microservice
None
Microservice API Call Should we? Auth Service authenticate
Microservice API Call Better! LOAD BALANCER Auth Service authenticate API
Gateway
Main app Get/…. + JWT Token { “data”: …. }
Auth Service Microservice LOAD BALANCER
None
None
None
https://github.com/Thinkei/eh-kong/blob/master/auth/handler.lua#L49
None
Why not just use JWT
Size User ID in JWT User id in session token
• Require CPU to compute cryptographic signatures • No utilisation
of being stateless • Redundant-signing • Can be read on the client side • Must be explicitly encrypted if we wanted to • Hard revocation
That’s it. Thank you for your attention!