Phương pháp bảo mật API

Chào mọi người, mình có một vài thắc mắc và suy nghĩ về API như sau mong mọi người giải đáp giúp mình.

  1. Ứng dụng Facebook mobile (iOS, Android) kết nối với server bằng RESTful API?
  2. Mình có thể dùng API để tự viết ứng dụng Facebook cho mình được không? Chắc là không được. Vì sao không được? Vì API của Facebook là private. Vậy thì private ở đây nghĩa là gì? Nghĩa là chỉ ứng dụng Facebook mới được phép gọi API còn những ứng dụng khác không được phép truy cập? Vậy làm thế nào Facebook có thể bảo vệ API như vậy? Phải chăng mình không gọi được API của Facebook chỉ vì mình không biết endpoint của họ? Nếu mình biết những endpoint đó thì mình có gọi được không?
  3. Mình nghĩ có 2 kiểu bảo mật API. Thứ nhất là xác thực client. Tức là chỉ những client cho phép mới được gọi tới API đó bằng key hay gì đó mà mình chưa hình dung được. Ví dụ như trường hợp của Facebook thì chỉ ứng dụng của Facebook mới gọi được API còn ứng dụng chưa được phép thì sẽ không gọi được.
    Thứ hai là xác thực người dùng (user) bằng username và mật khẩu của người dùng mỗi lần gọi API bằng token.
1 Like
2 Likes

Thực chất mà nói bây giờ đa phần các hệ thống mới đều chia side front-end và back-end hay giao diện và api, api có thể lf restf api hoặc soap service. Và nếu biết đc api và phương thức tương tác thì mình hoàn toàn làm đc nhé.
Còn về mặt facebook hay google theo quan điểm của mình họ sẽ dùng mô hình sso để xác thực và dùng jwt hay gọi là session để có thể bảo đảm được sự tin cậy dựa vào nhiều yếu tố và tiêu chuẩn. Bạn có thể mở ra topic về bảo mật có lẽ sẽ có nhiều giải thích hơn

1 Like

A post was merged into an existing topic: Topic lưu trữ các post off-topic - version 3

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?