Tôi đã đọc một số bài đăng về "JWT vs Cookie" nhưng chúng chỉ khiến tôi thêm bối rối ...
Tôi muốn làm rõ , khi mọi người nói về "xác thực dựa trên mã thông báo và cookie", cookie ở đây chỉ đơn thuần là cookie phiên ? Tôi hiểu rằng cookie giống như một phương tiện , nó có thể được sử dụng để triển khai xác thực dựa trên mã thông báo (lưu trữ thứ có thể xác định người dùng đã đăng nhập ở phía máy khách ) hoặc xác thực dựa trên phiên (lưu trữ một hằng số ở phía máy khách khớp với thông tin phiên ở phía máy chủ )
Tại sao chúng ta cần mã thông báo web JSON ? Tôi đang sử dụng cookie tiêu chuẩn để triển khai xác thực dựa trên mã thông báo ( không sử dụng id phiên, không sử dụng bộ nhớ máy chủ hoặc lưu trữ tệp ):
Set-Cookie: user=innocent; preferred-color=azure
và sự khác biệt duy nhất mà tôi quan sát được là JWT chứa cả tải trọng và chữ ký ... trong khi bạn có thể chọn giữa cookie đã ký hoặc văn bản rõ ràng cho tiêu đề http. Theo ý kiến của tôi, cookie đã ký (cookie:'time=s%3A1464743488946.WvSJxbCspOG3aiGi4zCMMR9yBdvS%2B6Ob2f3OG6%2FYCJM'
) hiệu quả hơn về không gian, hạn chế duy nhất là máy khách không thể đọc mã thông báo, chỉ máy chủ mới có thể ... nhưng tôi nghĩ nó ổn vì giống như xác nhận quyền sở hữu trong JWT là tùy chọn, nó không cần thiết cho mã thông báo có ý nghĩa