Nếu trang web có mặt trước công khai tiêu thụ API và cũng có phụ trợ cho người dùng có vai trò mạnh mẽ hơn cũng tiêu thụ API, cả hai phần của trang web đều sử dụng cùng API hoặc các API khác nhau (ví dụ:/api/v1/resourceName vs/api/admin/resourceName)?Có nên có các API riêng biệt cho các điểm cuối công cộng và riêng tư không?
5
A
Trả lời
5
Điều này thực sự tùy thuộc vào hoàn cảnh của bạn. Nếu các điểm cuối riêng tư của bạn hoàn toàn phải duy trì riêng tư, thì các API riêng biệt là giải pháp tuyệt đối duy nhất. Nói chung, điều đó có vẻ như quá mức cần thiết. Đối với hầu hết các trường hợp, tôi khuyên bạn nên duy trì một API duy nhất và thiết kế các điểm cuối riêng tư của bạn với sự bảo mật trong đầu từ đầu.
API riêng của
- Bạn phải duy trì hai căn cứ mã, hoặc ít nhất là phần cảng API tin của bạn vào một hệ thống công cộng.
- Bạn phải duy trì hai hệ thống API sản xuất.
- Bảo mật tốt hơn: khách hàng công cộng sẽ không thể truy cập tài nguyên nội bộ riêng tư trên API của bạn, ngay cả khi khóa/mật khẩu người dùng/v.v. bị vi phạm hoặc có lỗi trong cách API công khai xử lý bảo mật.
The Same API
- Một codebase và một máy chủ.
- Bảo mật sẽ quan trọng hơn. Bạn phải đảm bảo khách hàng công khai không thể truy cập tài nguyên nội bộ. Vi phạm an ninh, hoặc giám sát về an ninh trên các thiết bị đầu cuối riêng tư của bạn có thể gây ra các vấn đề nghiêm trọng.
+0
@Brian, cách bạn tiếp cận cá nhân hoặc cách tiếp cận ưa thích của bạn hoặc trải nghiệm của bạn với cả hai cách tiếp cận – user2727195
Các vấn đề liên quan
- 1. Các khe công cộng và riêng tư trong R?
- 2. Quan điểm thực tế về riêng tư và công khai
- 3. Ghi đè các chức năng ảo công cộng với các chức năng riêng tư trong C++
- 4. Tôi có nên sử dụng các thuộc tính công khai và các trường riêng tư hoặc các trường công khai cho dữ liệu không?
- 5. AS3: các biến riêng tư có _
- 6. C++ Riêng tư có thực sự riêng tư không?
- 7. Phân vùng cấu trúc thành các phần riêng tư và công cộng?
- 8. từ khóa riêng tư không có từ khóa riêng tư
- 9. API của Apple và riêng tư
- 10. Tôi có nên sử dụng các mô hình riêng biệt cho tên miền và EF không?
- 11. keytool - xem các khóa công khai và riêng tư
- 12. Truy cập các trường riêng tư
- 13. Git: Bỏ qua các tệp cho kho lưu trữ công cộng, nhưng không dành cho riêng
- 14. Khi nào tôi nên sử dụng các phương thức công khai/riêng tư/tĩnh?
- 15. quy ước đặt tên cho biến công cộng và riêng tư?
- 16. Travis CI cho các kho riêng tư
- 17. force get/set truy cập các biến riêng tư cho các thuộc tính riêng
- 18. PHP | Tại sao tôi nên sử dụng chức năng tĩnh tĩnh/riêng công cộng thay vì chức năng công cộng/riêng tư?
- 19. Một MediaPlayer có nên chạy trong chuỗi riêng biệt không?
- 20. Ưu điểm và nhược điểm của các gói riêng tư trong gói Java?
- 21. Đặt các phương thức riêng tư cuối cùng?
- 22. Có LoadLibrary tạo các cá thể riêng biệt không?
- 23. Sự khác biệt giữa OpenMP luồng riêng tư và riêng tư
- 24. Sự khác biệt giữa EventHandler riêng tư và sự kiện riêng tư EventHandler?
- 25. YouYube API Xem Video Riêng tư
- 26. Bảo mật cho REST "Riêng tư" REST
- 27. Tôi có nên đặt giao diện công khai trong một tệp riêng biệt không?
- 28. Các khóa công khai/riêng tư của RSA trong YAML
- 29. Tài liệu API riêng tư trên iOS
- 30. Có thể có phương pháp mở rộng riêng tư không?
trải nghiệm của bạn như thế nào, tôi đã cùng một tình huống khó xử để quyết định giữa hai giờ, hãy chia sẻ kinh nghiệm của bạn. – user2727195