2015-09-22 19 views
7

Có an toàn khi lưu trữ mã thông báo API được trả về bởi cuộc gọi xác thực trong cửa hàng Thông lượng (cụ thể, Redux) không? Tôi đã sử dụng Webpack để biên dịch tất cả các tài sản trong dự án, điều mà tôi tin rằng có nghĩa là cửa hàng nằm ngoài tầm với của các tập lệnh của bên thứ ba đang tìm cách đọc cửa hàng và trích xuất mã thông báo.Mã thông báo API có an toàn bên trong cửa hàng Flux (Redux) không?

Và, đối với những gì đáng giá, mã thông báo được gửi qua HTTPS trong tiêu đề Authorization: bearer ....

+1

Tuyệt đối không. Ít nhất là không trừ khi bất kỳ ai cũng có thể xem khóa API của bạn. Bất cứ ai cũng có thể truy cập dữ liệu trong JS khách hàng bất cứ lúc nào (ví dụ: công cụ chrome dev). –

+0

Đọc này; http://stackoverflow.com/questions/20963273/spa-best-practices-for-authentication-and-session-management –

Trả lời

7

Nếu các tập lệnh bên thứ ba không đáng tin cậy đang chạy trên trang, thì bạn nên cho rằng không có gì an toàn vì toàn bộ toàn bộ trang bị xâm phạm.

Nếu chỉ các tập lệnh đáng tin cậy đang chạy, bạn có thể giả sử mã thông báo của mình an toàn, tùy thuộc vào bảo mật của trình duyệt và mức độ bảo mật của trang web của bạn chống lại các cuộc tấn công XSS.

EDIT:

Để làm rõ, đây là sự an toàn từ tập lệnh của bên thứ ba. Nếu bạn đang cố giấu mã thông báo của mình khỏi chính người dùng thì câu trả lời là nó sẽ luôn không an toàn, cho dù bạn có làm xáo trộn mã của bạn bao nhiêu đi chăng nữa, nếu máy của người dùng có quyền truy cập vào nó, thì cuối cùng người dùng có thể truy cập vào nó (bạn có thể làm cho nó khó khăn hơn, nhưng không phải là không thể).

+1

@Carson Tôi muốn thêm vào điều này mà không có gì được lưu trữ trong JS nên bao giờ được giả định là an toàn , bởi vì bất kỳ tập lệnh nào có quyền truy cập vào trang của bạn đều có thể được truy cập vào tập lệnh/phạm vi. Tôi đồng ý với Trevor; điều này thực sự nắm được mức độ tin cậy của các tập lệnh đang chạy trên trang của bạn. –

Các vấn đề liên quan