@Moevuive có 1 cách rất hay em học được mà có thể áp dụng đối với trường hợp này mà k cần lưu lại token là lưu thời gian tạo token vào 1 cột TimeoutToken trong db user , khi đăng xuất hay change pass thì update TimeoutToken = time now . Khi đó , user login -> mình sẽ dùng TimeoutToken so sánh với time IssuedAt của token , nếu > thì token đã bị loại khỏi . Điều này ok với bài toán và tránh việc mình phải lưu trực tiếp token của người dùng vào database , vì 1 số ứng dụng lưu token của người dùng k hay cho lắm.
Đúng rồi ạ, JWT là stateless, thông thường thì mình chỉ cần verify token thôi. Nhưng như đã nói ở bài thì nếu cần phải đăng xuất một cách hoàn toàn ở cả phía server và client thì phải từ bỏ stateless để thực hiện một số truy vấn vào db.
Còn việc giữ kết nối với redis thì có rất nhiều yếu tố, anh có thể vào trang chủ của redis tham khảo, ví dụ như là sử dụng redis-sentinel chẳng hạn: https://redis.io/docs/manual/sentinel/
Trước giờ mình hiểu JWT là stateless, nếu làm theo cách trên là store vào Redis thì không còn là stateless nữa đúng không ạ, lúc này nó là stateful rồi. Trường hợp mất connection tới Redis thì làm như thế nào.
@HuyDQ ,alo mình mới dùng cách dùng heroku cli upload web lên heroku bằng cmd ,dù mình git:remote đúng cách không hiểu sao nó git push heroku master nó bị lỗi remote rejected failed to push some refs,mình heroku git:remote -a tenapp đúng cách mà
THẢO LUẬN
👋👋👋👋👋
@koyoy bạn thử xóa hết những cái remote đã add và thử lại từ đầu xem
@Moevuive có 1 cách rất hay em học được mà có thể áp dụng đối với trường hợp này mà k cần lưu lại token là lưu thời gian tạo token vào 1 cột TimeoutToken trong db user , khi đăng xuất hay change pass thì update TimeoutToken = time now . Khi đó , user login -> mình sẽ dùng TimeoutToken so sánh với time IssuedAt của token , nếu > thì token đã bị loại khỏi . Điều này ok với bài toán và tránh việc mình phải lưu trực tiếp token của người dùng vào database , vì 1 số ứng dụng lưu token của người dùng k hay cho lắm.
🤧ôi hay quá, tuyệt vời quá, mong idol sẽ ra thêm nhiều bài viết mới.🤧
À, bạn xem lại câu trả lời của mình nhé, lỗi nằm ở cách bạn lấy param id chứ ko phải do template literal hay nối chuỗi.
@CatSenpai Hầu như không đụng, mặc định là 0 thì phải
Xin chào anh! Cám ơn anh vì 1 bài viết tuyệt vời nhưng mà em tìm mãi vẫn không thấy phần 2 ạ.
@vuongthai95 thử thách 6 ngày 6 đêm xung đột với người yêu, ai nói gì cũng không làm hoà, gét gô
bài viết hay quá, thích nhất câu "giữ xung đột ở mức độ hợp lý giống như việc đi trên dây, sai một li là đi một dặm" 👍️👍️👍️👍️👍️
Đúng rồi ạ, JWT là stateless, thông thường thì mình chỉ cần verify token thôi. Nhưng như đã nói ở bài thì nếu cần phải đăng xuất một cách hoàn toàn ở cả phía server và client thì phải từ bỏ stateless để thực hiện một số truy vấn vào db. Còn việc giữ kết nối với redis thì có rất nhiều yếu tố, anh có thể vào trang chủ của redis tham khảo, ví dụ như là sử dụng redis-sentinel chẳng hạn: https://redis.io/docs/manual/sentinel/
@khangnd
Em sửa mỗi thẻ <Link></Link> thôi ạ.
Trước giờ mình hiểu JWT là stateless, nếu làm theo cách trên là store vào Redis thì không còn là stateless nữa đúng không ạ, lúc này nó là stateful rồi. Trường hợp mất connection tới Redis thì làm như thế nào.
Bạn chụp, share lại những đoạn code đã được sửa để mình dễ tham khảo nhé.
@HuyDQ ,alo mình mới dùng cách dùng heroku cli upload web lên heroku bằng cmd ,dù mình git:remote đúng cách không hiểu sao nó git push heroku master nó bị lỗi remote rejected failed to push some refs,mình heroku git:remote -a tenapp đúng cách mà
Em sửa thành dấu backtick rồi ạ nhưng vẫn không dùng được tamplate literal.Nó bị lỗi như này ạ:
Viết bài không có tâm 🙄
chúng ta có thể lưu token vào session hoặc redis để cải thiện hiệu suất
Thankiu 😍
hóng mãi, cứ bải a ra là upvote
cái đầu import kiểu gì vậy