Tôi có một ứng dụng bình phục vụ như là phụ trợ REST API. Tôi muốn thực hiện xác thực dựa trên mã thông báo cho chương trình phụ trợ nhưng để thực hiện điều đó, tôi cần truy xuất mã thông báo người dùng. Tài liệu Flask-Security nói rõ ràng rằng để lấy mã thông báo, người dùng cần thực hiện một HTTP POST với các chi tiết xác thực như dữ liệu JSON đến điểm cuối xác thực. Rất tiếc, tôi không hiểu cách lấy mã thông báo CSRF cần thiết để thực hiện yêu cầu đó.Mã thông báo CSRF Flask-Security
Nếu tôi sử dụng trang đăng nhập/mẫu được cung cấp cùng với phần mở rộng, mã thông báo CSRF được chuyển cho khách hàng trong trường ẩn trong biểu mẫu. Câu hỏi là:
làm cách nào để truy xuất mã thông báo CSRF mà không truy cập và phân tích trang đăng nhập, chẳng hạn như từ ứng dụng angularJS sử dụng phương thức $ http hoặc ứng dụng dành cho thiết bị di động?
Rõ ràng là tôi có thể tránh sử dụng Flask-Security và tự triển khai các phần nhưng tôi thiếu kinh nghiệm với các ứng dụng web và tôi cảm thấy tôi có thể đang tiếp cận sai hướng này.
Bạn đã làm điều này như thế nào? – kyrre
Tôi đã tự mình thực hiện lớp bảo mật. Xin lỗi tôi không có câu trả lời tốt hơn cho bạn. – Jacopo
Lưu ý rằng không có cách bảo mật nào để lưu trữ mã thông báo trong angularjs, xem ví dụ: [tại đây] (https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/). Tùy chọn bảo mật là để máy chủ lưu trữ mã thông báo trong cookie chỉ http + bật tính năng bảo vệ CSRF. Nếu tất cả những gì bạn cần nói là angularjs thì bạn cũng có thể sử dụng session (+ anti-CSRF) sau đó. – Adversus