Tôi đang sử dụng mã thông báo JWT trong các tiêu đề HTTP để xác thực các yêu cầu đến máy chủ tài nguyên. Máy chủ tài nguyên và máy chủ xác thực là hai vai trò worker riêng biệt trên Azure.
Tôi không thể trang điểm cho mình liệu tôi có nên lưu trữ các khiếu nại trong mã thông báo hoặc đính kèm chúng với yêu cầu / phản hồi theo cách khác hay không. Danh sách Khiếu nại ảnh hưởng đến việc hiển thị các thành phần UI phía máy khách cũng như quyền truy cập vào dữ liệu trên máy chủ. Vì lý do này, tôi muốn đảm bảo rằng các khiếu nại mà máy chủ nhận được là xác thực và được xác thực trước khi yêu cầu được xử lý.
Ví dụ về các khiếu nại là: CanEdit SẢNtList, CanEditShopDes mô tả, CanReadUserDetails.
Những lý do tôi muốn sử dụng mã thông báo JWT cho họ là:
- Bảo vệ tốt hơn chống lại việc chỉnh sửa khiếu nại phía khách hàng (ví dụ như danh sách khiếu nại hack).
- Không cần phải tra cứu các yêu cầu trên mỗi yêu cầu.
Những lý do tôi không muốn sử dụng mã thông báo JWT:
- Sau đó, máy chủ auth phải biết danh sách yêu cầu tập trung vào ứng dụng.
- Mã thông báo trở thành một điểm duy nhất của hack-entry.
- Tôi đã đọc một số điều nói rằng mã thông báo JWT không dành cho dữ liệu cấp ứng dụng.
Dường như với tôi rằng cả hai đều có nhược điểm, nhưng tôi đang nghiêng về việc đưa các yêu cầu này vào mã thông báo và chỉ muốn chạy nó bởi những người đã xử lý vấn đề này trước đây.
LƯU Ý: Tôi sẽ sử dụng HTTPS cho tất cả các yêu cầu API, do đó, dường như với tôi rằng mã thông báo sẽ an toàn 'đủ'. Tôi đang sử dụng AngularJS, C #, Web API 2 và MVC5.