Tôi đang sử dụng plugin và chiến lược jwt trong hapijs. Tôi có thể tạo mã thông báo jwt trong khi người dùng đăng nhập và xác thực API khác bằng cách sử dụng cùng một mã thông báo thông qua chiến lược 'jwt'. Tôi đang đặt mã thông báo trong 'request.state.USER_SESSION' làm cookie nơi USER_SESSION là tên mã thông báo. Ngoài ra tôi không lưu các mã thông báo trong cơ sở dữ liệu. Nhưng làm thế nào tôi có thể phá hủy mã thông báo jwt tại thời điểm đăng xuất. Xin đề nghị một cách.Làm thế nào để tiêu diệt JWT Tokens khi đăng xuất?
10
A
Trả lời
14
JWT được lưu trữ trên trình duyệt, do đó loại bỏ các dấu hiệu xóa cookie ở phía khách hàng
Nếu bạn cũng cần phải vô hiệu hóa các mã thông báo từ phía máy chủ trước khi thời gian hết hạn của nó, ví dụ tài khoản bị xóa/bị chặn/treo, thay đổi mật khẩu, quyền thay đổi, người dùng đã đăng xuất bằng quản trị viên, hãy xem Invalidating JSON Web Tokens để biết một số kỹ thuật về commons như tạo danh sách đen hoặc mã thông báo xoay
Các vấn đề liên quan
- 1. Làm thế nào để tiêu diệt tinyMce?
- 2. Làm thế nào để tiêu diệt Fancybox?
- 3. Làm thế nào để tiêu diệt Fragment?
- 4. OpenID Kết nối với JWT Tokens không trạng thái
- 5. Làm thế nào để tiêu diệt các đối tượng java?
- 6. Làm thế nào để tiêu diệt một Chủ đề MFC?
- 7. Làm thế nào để tiêu diệt một ứng dụng angularjs?
- 8. Làm thế nào để tiêu diệt một đối tượng JavaScript?
- 9. Làm thế nào để tiêu diệt Zend_Session_Namespace mà không session_destroy
- 10. OutOfMemoryError - làm thế nào để tiêu diệt JVM sau khi hprof tạo
- 11. làm thế nào để tiêu diệt thread trong java sau khi hoàn thành nhiệm vụ
- 12. tạo jwt khi đăng nhập bằng allauth
- 13. Rails - Làm thế nào để tiêu diệt người dùng tạo theo Devise?
- 14. thế nào để tiêu diệt một dòng suối vùng cao
- 15. Làm cách nào để triển khai JWT Refresh Tokens trong api core asp.net core (không có bên thứ 3)?
- 16. Đăng nhập Facebook trong JWT
- 17. Làm thế nào để tiêu diệt các cookie trên trang làm mới
- 18. Làm thế nào để đưa ra các đối số để tiêu diệt qua đường ống
- 19. Linux: Làm thế nào để tiêu diệt các chương trình sử dụng cổng 1935?
- 20. Làm thế nào để tiêu diệt một máy chủ thủy tinh trong Windows?
- 21. Làm thế nào để tiêu diệt chưa được giải quyết lời hứa
- 22. Làm thế nào để tiêu diệt ứng dụng đang sử dụng cổng TCP trong C#?
- 23. Làm thế nào để tiêu diệt các mảnh vỡ cũ trong FragmentStatePagerAdapter
- 24. Làm thế nào để tiêu diệt đúng C++ vector của vector và giải phóng bộ nhớ
- 25. Quá trình tiêu diệt Android
- 26. Làm thế nào để tiêu diệt các chuỗi bị khóa trong Java?
- 27. Làm thế nào để tiêu diệt một Thread trong Java đang ở trạng thái RUNNING?
- 28. Làm thế nào để tiêu diệt một chuỗi ngay lập tức trong C#?
- 29. Làm thế nào để tiêu diệt một chuỗi java bằng VisualVM hoặc sử dụng lệnh unix?
- 30. Làm thế nào để tiêu diệt một con trỏ thông minh sớm
Tôi đồng ý với câu trả lời của bạn. Tôi đang đặt mã thông báo jwt trong cookie bằng 'reply.state (' USER_SESSION ', {jwtToken});' trong đó USER_SESSION là tên cookie. Vì vậy, bạn có thể đề xuất cho tôi những gì lệnh tôi nên chạy để xóa cookie từ nhà nước trong hapijs? – Garima
Bạn đang ở phía máy chủ và bạn không thể buộc các trình duyệt xóa cookie. Nhưng bạn có thể đặt giá trị thành trống và bao gồm trường 'hết hạn' để vô hiệu hóa giá trị cookie. Xem http://stackoverflow.com/questions/5285940/correct-way-to-delete-cookies-server-side. Bạn cũng có thể vô hiệu hóa cookie ở phía máy khách với javascript 'var delete_cookie = function (name) { document.cookie = name + '=; expires = Thu, 01 Jan 1970 00:00:01 GMT;'; }; ' – pedrofb
Cảm ơn rất nhiều! Tôi hài lòng với câu trả lời của bạn. – Garima