expired token jwt mỗi khi user login



  • mình có xài JWT để xác thực người dùng, nhưng mình muốn 1 user khi login mới thì toàn bộ token cũ đều bị expired, có cahs nòa giải quết vấn đề này không


  • Global Moderator

    @Đức-Trần Theo mình biết thì khi mỗi jwt được issued ra thì bản thân nó chỉ hết hạn khi thời gian hiện tại lớn hơn khoảng thời gian hiệu lực của token. Để làm được việc này thì theo mình là thay đổi cách implement của OAuth Server bằng cách bổ sung thêm trường isRevoked hoặc cập nhật trường expires = today - 1, hoặc delete các tokens đó khỏi DB đi. Khi validate thì cần kiểm tra token đó có tồn tại trong DB hay không và các điều kiện khác hợp lệ.



  • mình cũng đã nghĩ đến việc lưu DB, đang suy nghĩ thêm solution khác :)



  • @Đức-Trần
    Bạn có muốn quan tầm về token cũ không.

    1. Có: Dùng is_revoked như a Vũ nêu.
    2. Không: =))) Dùng redis. Ghi đè lên key là user_id.

    Sent from Rodgers Zone!!!

    1

Log in to reply