Có nên renew token liên tục

Các bác cho em hỏi theo quan điểm thiết kết hệ thống thì có nên cho thời gian sống của token ngắn không? Trường hợp này là JWT, em định cho:

  • Access token 5 giây hết hạn.
  • Refresh token 1 tiếng hết hạn phải login lại.

Đây là trường hợp 2 server connect với nhau (server này là client của server kia) nên việc sau 1 tiếng login lại sẽ không bị gián đoạn (basic authentication).


Theo các yếu tố như: độ bảo mật, mức độ delay, mức độ chịu tải của server, …

Em cảm ơn!

  1. host to host bản thân kết nối này đã có rất nhiều biện pháp bảo mật rồi, ví dụ như whitelist ip, hoặc thậm chí là internal network không expose api đó ra ngoài… nên không ai để token ngắn vậy cả, không có ý nghĩa thiết thực
  2. delay là delay cái gì, bạn phải nói rõ chứ. như ý 1 ở trên, token không expired thì gọi api bình thường, sao phải cho token mau hết hạn rồi lại phải gọi thêm 1 lần api lấy token rồi mới gọi api muốn gọi?
  3. giả sử bạn để token 5s hết hạn, thì gọi thêm 1 lần api, có gì đâu phải quan tâm tải, nếu server của bạn gọi api lác đác vài giây 1 lần mà chết lên chết xuống thì bạn phải coi lại cách viết code.
  4. khi bạn hỏi có nên làm gì đó hay không, ít nhất bạn cũng cần có lý do để hỏi, ví dụ bạn nghĩ làm vậy sẽ abc, sẽ xyz. Rồi post idea đó lên để người khác correct lại, chứ còn hỏi xuông như thế này thì rất chán, cảm giác như đó chỉ là câu hỏi vu vơ
4 Likes

Chuyện là em có 2 server: server của người ta và server của em.

  • Server của người ta dạng SaaS kiểu lowcode chỉ cho em mỗi acess token và refresh token, trong docs không nói gì thêm ngoài việc mô tả refresh token hết hạn thì login lại. Em muốn sử dụng API này để gắn vào giao diện Single Page Application của em nhưng không có quyền enable CORS.
  • Server của người ta chỉ cấp token cho riêng em nhưng lại muốn public data luôn nhưng không để lộ token. Server của em không có database mà xem server của người ta như database.

Vì token có thời hạn ngắn và em sử dụng token của em để public data nên lượng request sẽ cao hơn user cá nhân.

Chính vì server của em xem server kia như database nên em phải duy trì kết nối liên tục.

Đến nay đã được 1 tuần nhưng chưa bị disconect nhưng em không biết theo cách thiết kế, theo luật thì server kia có phát hiện em đang qua mặt không. Sợ bị ban account, block IP

bạn có 2 server, server của người ta?
cấp token cho riêng bạn nhưng data public?
duỳ trì kết nối như thế nào? http api giữ kết nối liên tục như nào?

những gì bạn nói quá khó hiểu, khác xa với câu hỏi ban đầu

tóm lại là server kia là dịch vụ của người ta, bạn đang sử dụng illegal/sai policy và lo ngại sẽ bị ban?
nếu vấn đề như vậy thì topic này sẽ không đi đến đâu cả.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?