Tôi muốn xây dựng các dự án sau:Cách tốt nhất để bảo mật javascript front end/REST trở lại trang web kiến trúc kết thúc?
- REST của công API trở lại cuối cùng có thể được truy cập bởi bất kỳ khách hàng thực
- cuối phía trước với các tập tin tĩnh trong HTML/CSS/Javascript với các cuộc gọi Backbone.js jQuery vào cuối REST trở lại
Thực tế, có ba bên trong kiến trúc của tôi: giao diện người dùng, là khách hàng của mặt sau, mặt sau và người dùng muốn xác thực đăng nhập trước trang.
Cách tốt nhất để bảo vệ ba bên liên quan đến kiến trúc này là gì? Trong thực tế, tôi tin rằng nó chỉ là không thể làm một ứng dụng an toàn trên mặt trước nếu tôi làm tất cả mọi thứ trong javascript, vì vậy tôi có ý định ủy quyền xác thực/ủy quyền cho một lớp proxy trên máy chủ của tôi kết thúc trước. Bạn nghĩ gì về điều này ?
Tôi định sử dụng OAuth để bảo đảm kết thúc REST của mình, nhưng tôi không chắc liệu mình có phải sử dụng triển khai thực hiện 2 hoặc 3 không. Cách tiếp cận đúng trong trường hợp này là gì?
CẬP NHẬT: khi tìm kiếm sâu hơn trên trang web SO, tôi đã tìm thấy thread chính xác là những gì tôi muốn làm, ngoại trừ tôi muốn sử dụng Java ở phía máy chủ chứ không phải DotNet. Nếu tôi hiểu rõ, trên thực tế, trang web của tôi giống như bất kỳ ứng dụng khách nào của API REST của tôi, ngoại trừ nó là người duy nhất có quyền tạo tài khoản người dùng mới. Bởi vì, nếu API REST của tôi chỉ có thể truy cập bởi OAuth (giống như của Twitter), ai có thể thực hiện tạo tài khoản người dùng trước đây? Tôi có đúng không?
Bạn chính xác rằng bất kỳ xác thực/ủy quyền nào được thực hiện trong js đều vô giá trị vì người dùng chỉ có thể tắt hoặc giả mạo nó. – Thomas
@rico FYI, bạn có thể nhận được một số câu trả lời khác tại http://security.stackexchange.com. – Micah
@Thomas, nó không đáng giá như xác thực biểu mẫu phía khách hàng. – amirouche