$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Json Web Token at Employment Hero
Search
Luong Vo
September 11, 2018
Programming
0
40
Json Web Token at Employment Hero
Luong Vo
September 11, 2018
Tweet
Share
More Decks by Luong Vo
See All by Luong Vo
Why our platform needs Redis Sentinel
luongvo
0
95
Performance Monitoring at Employment Hero
luongvo
0
150
Lalaland - A C2C ecommerce site - pitch deck
luongvo
0
420
Skeleton-based Human Action Recognition with Recurrent Neural Network
luongvo
0
240
Ruby Threads
luongvo
1
32
Caching in Ruby
luongvo
1
34
Monitoring system at Employment Hero
luongvo
0
51
Introduction to Docker and Docker Compose
luongvo
0
64
Database migration from Heroku to Amazon Web Services
luongvo
0
71
Other Decks in Programming
See All in Programming
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
310
チームをチームにするEM
hitode909
0
310
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
630
Microservices rules: What good looks like
cer
PRO
0
1.2k
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
700
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
25k
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.3k
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
5.5k
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
430
tparseでgo testの出力を見やすくする
utgwkk
1
210
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
Making Projects Easy
brettharned
120
6.5k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Writing Fast Ruby
sferik
630
62k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
Being A Developer After 40
akosma
91
590k
Typedesign – Prime Four
hannesfritz
42
2.9k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
[SF Ruby Conf 2025] Rails X
palkan
0
500
Into the Great Unknown - MozCon
thekraken
40
2.2k
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!