Chúng tôi có một trang web mà cách duy nhất để đăng nhập và xác thực chính bạn với trang đó là sử dụng Facebook (đây không phải là lựa chọn của tôi). Lần đầu tiên bạn đăng nhập bằng Facebook, một tài khoản sẽ tự động được tạo cho bạn.
Bây giờ chúng tôi muốn tạo một ứng dụng iPhone cho trang web của mình và cũng là một API công khai để những người khác sử dụng dịch vụ của chúng tôi.
Câu hỏi này là về cách xác thực với trang web của chúng tôi từ ứng dụng / API và được chia thành 2 phần:
Cách chính xác để xử lý xác thực REST từ một API đến một trang web chỉ sử dụng Facebook OAuth làm phương thức xác thực là gì?
Tôi đã đọc và nghiên cứu rất nhiều về các phương pháp xác thực tiêu chuẩn cho REST API. Chúng tôi không thể sử dụng các phương pháp như Xác thực cơ bản qua HTTPS vì không có thông tin xác thực cho người dùng như vậy. Một cái gì đó như thế này dường như chỉ dành cho việc xác thực các ứng dụng bằng API.
Hiện tại, cách tốt nhất tôi có thể nghĩ là bạn nhấn / ủy quyền điểm cuối trên API của chúng tôi, nó chuyển hướng đến Facebook OAuth, sau đó chuyển hướng trở lại trang web và cung cấp 'mã thông báo' mà người dùng API có thể sử dụng để xác thực sau đó các yêu cầu.
Đối với một ứng dụng chính thức mà chúng tôi tạo, chúng tôi không nhất thiết phải sử dụng API công khai theo cách tương tự. Sau đó, cách tốt nhất để nói chuyện với trang web của chúng tôi và xác thực người dùng là gì?
Tôi hiểu (tôi nghĩ) cách xác thực các ứng dụng của bên thứ 3 đang sử dụng API của chúng tôi, sử dụng khóa API (công khai) và khóa bí mật (riêng tư). Tuy nhiên, khi nói đến việc xác thực người dùng đang sử dụng ứng dụng, tôi khá bối rối về cách thực hiện khi cách duy nhất chúng tôi phải xác thực người dùng là Facebook.
Tôi cảm thấy như mình đang thiếu một cái gì đó rất rõ ràng hoặc không hiểu đầy đủ về cách hoạt động của các API REST công khai, vì vậy mọi lời khuyên và trợ giúp sẽ được đánh giá rất cao.