@binhoccongnghe: 🔐 Tình huống Một hệ thống web sử dụng JWT để xác thực: + Access token: hết hạn sau 15 phút + Refresh token: hết hạn sau 7 ngày + Token được lưu ở phía client (localStorage) + Server không lưu session (stateless) Người dùng A đăng nhập trên máy tính cá nhân. Sau đó: + Người dùng logout khỏi hệ thống + Nhưng hacker trước đó đã copy được access token 👉 Sau khi logout, hacker vẫn dùng token đó gọi API thành công. Làm thế nào để thiết kế hệ thống để: Người dùng logout → token bị vô hiệu ngay Nhưng vẫn giữ được hiệu năng cao? 👉 Gợi ý: Token blacklist (lưu DB/Redis) Rotate refresh token Short-lived access token Logout tất cả thiết bị (invalidate session/token version) Sử dụng token version trong database #xh #bin #binhoccongnghe #coding #develop
Dùng short-lived access token + refresh token rotation + token_version
Khi logout thì mình tăng token_version trong DB lên, khi đó mọi access token cũ invalid ngay
Cache token_version bằng Redis để vẫn giữ hiệu năng cao.
2026-05-03 11:14:29
60
ù í e ù í e ụ ẹ ày :
Không xài token -> ko lộ token
2026-05-03 17:39:19
15
Bạch Cư Dị :
hey claude , fix for me :))
2026-05-13 02:24:22
2
anhhuynh290524 :
Nói cho team thôi :)))
2026-07-11 20:27:27
1
test12345 :
trade off thôi, không có giải pháp hoàn hảo hoàn toàn. Muốn tăng bảo mật thì cần hi sinh một phần stateless
2026-05-04 00:21:34
7
Yinnz 🦕🌙 :
Cho hạn actk thấp thôi, khi actk hết hạn thì cấp cặp token mới + sử dụng blacklist token + chỉ có 1 rftk hoạt động tại 1 thời điểm. Tóm lại tuỳ vào bạn thiết kế hệ thống ra sao chúc bạn may mắn
2026-05-04 13:44:41
3
vanhaydev :
Dễ 🥰🥰🥰 anh tự trả lời cho em đi ạ
2026-05-03 10:43:08
1
Nguyễn Duy Khánh :
Chuyển sang dùng session :)))
2026-05-04 03:04:36
1
Khanh Nguyen :
Vậy thì refresh token đó đó phải lưu trên server để revoke lại khi cần thiết. Nhiều auth provider cũng lưu token trên server để admin toàn quyền.
2026-05-04 15:54:32
1
Nicer :
Nhưng mà làm sao biết là bị lộ token nhỉ
2026-05-07 10:04:33
1
dangchung07 :
Tắt srv đc k 😁
2026-07-16 11:27:12
0
TCod :
mình tưởng dùng http only + same site
2026-06-30 03:34:31
0
🅃🅁🅄🄽🄶 𝓝𝓐𝓜 :
Nó đã lấy đc rftoken r thì tg hết hạn atoken thấp vẫn ko giải quyết được đâu, nên tăng cường bảo mật số lượng thiết bị có thể đăng nhập, thống báo user có ng đăng nhập mới, 2fa, passkey. Mà càng bảo mật thì user sẽ khó chịu ;vvv
2026-05-30 00:32:03
2
Trần Đạt :
thiết kế cái refresh token chỉ thay đổi access_token thôi, để refresh_token luôn có thời hạn
2026-05-04 11:30:34
1
Truong Vu :
phải hỏi ngược lại là tại sao nó có token 😂😂
2026-05-04 17:05:04
2
Chú heo nhỏ(◍•ᴗ•◍) :
httponly đc không ta
2026-05-05 01:54:33
0
Stevie :
Gửi Token qua httponly cookie đc ko mng? Ko thể lấy qua js
2026-06-05 07:34:31
0
quy nguyen :
short-lived access token + rotating refresh token
2026-05-11 03:19:14
1
Công Non :
Lưu trong htttpPnly Cookie thì được không nhỉ
2026-05-04 01:49:45
0
Soái Ca :
Token sinh có hash IP vào đó (Hash toàn bộ IP hoặc chỉ vài bít đầu để tránh việc IP động bị đổi liên tục). Khi phần IP hash thay đổi thì bắt xác thực lại. Google hay FB cũng có cơ chế tương tự. Sang IP lạ hoắc bắt xác thực lại dù trước đó con Laptop đang trạng thái đã đăng nhập và làm việc bình thường.
2026-05-04 03:22:42
9
_trivanho :
user đã logout thì làm gì còn fresh với chả token nhỉ?
2026-05-10 03:36:05
1
Tùy Phong☁️ :
sao phải xài token, chơi session là xong 😂 chỉ cần mở phiên mới tab mới là phải login 😂
2026-05-04 16:01:30
1
Hip NL :
Đang làm vụ này cho project luôn. Cũng nhờ đi mò kiếm api của ngt nên mới nghĩ tới việc làm sao để có thể bảo mật cho của mình 😂
2026-05-09 14:42:32
1
Lê Minh Đức :
lưu blacklist đã để việc logout có hiệu lực ngay lập tức. và nó cũng biến token từ stateless thành stateful. đâu có chống đc leak token.
cách chuẩn là lưu cả device fingering vào trong token. khi validate token thì kém check device fingering.
2026-05-06 15:43:16
1
Khoa chơi cầu dở :
Tui hay dùng mã hoá có key riêng trước khi lưu vào localSto. khi ngườI dùng vào web sẽ tự giãi mã để check lại trong DB đã lưu. và check lại sesion hết hạn trong vòng 5 ngày. hk biết có ổn k mấy đồng môn
2026-05-04 07:14:19
1
To see more videos from user @binhoccongnghe, please go to the Tikwm
homepage.