Tôi đang xây dựng một Website (PHP), API (PHP) và một ứng dụng iPhone gốc. Tôi muốn người dùng đăng nhập bằng tài khoản Facebook của họ để họ có thể đăng bài đánh giá/tải lên ảnh qua ứng dụng Trang web hoặc iPhone đến máy chủ/cơ sở dữ liệu của chúng tôi. Điều này cũng sẽ giúp tôi tiết kiệm thời gian để tạo ra một hệ thống đăng ký người dùng hoàn chỉnh.Trang web, API và Ứng dụng iPhone cho phép người dùng đăng nhập qua Facebook
Tôi đang cố gắng tìm ra cách tạo kiến trúc thống nhất cho loại giải pháp này. Tôi đang suy nghĩ về những điều sau đây:
đăng ký:
- Tạo một bảng cơ sở dữ liệu chứa người dùng của tôi (bảng sẽ có những lĩnh vực: id, facebook_uid, firstname, lastname)
- iPhone App kịch bản đăng nhập: người dùng đăng nhập qua Facebook; nhấn vào cho phép cấp quyền cho ứng dụng của tôi; trở về ứng dụng với access_token (được lưu trữ trên điện thoại của anh ta). Sau đó thực hiện cuộc gọi đến API của riêng tôi để đăng ký người dùng (nếu chưa đăng ký trong cơ sở dữ liệu) với các thông tin sau: facebook_uid, firstname và lastname.
- Kịch bản đăng nhập trang web: đăng nhập người dùng qua Facebook; chuyển hướng đến url trở lại cấu hình của tôi và đăng ký người sử dụng (nếu chưa có trong cơ sở dữ liệu) với các giá trị facebook_uid, firstname và lastname
Đăng một đánh giá sản phẩm
Iphone App: Thực hiện cuộc gọi vào API của tôi với thông số đầu vào sau: review_text, facebook access_token. API của tôi sau đó sẽ thực hiện phía máy chủ cuộc gọi API tới facebook để nhận facebook_uid. Khi tôi đã truy xuất facebook_uid tôi chèn vào cơ sở dữ liệu hồ sơ đánh giá cho người dùng facebook này. (Thay vì gửi access_token Facecbook, tôi có thể gửi trực tiếp giá trị facebook_uid cho API của mình. Nhưng tôi nghĩ điều này có thể kém an toàn hơn, vì ai đó có thể chèn đánh giá về hành vi của người dùng khác nếu họ biết facebook_uid của họ)
Trang web: Với sự trợ giúp của thư viện Facebook Connect PHP, phiên đăng nhập FB có sẵn để tôi có thể chèn trực tiếp phía máy chủ bằng cách đọc các phiên facebook_uid.
Đây có phải là cách chính xác và an toàn khi sử dụng Facebook làm đăng nhập cho nền tảng của riêng bạn không? Hoặc có bất kỳ mô-đun/thư viện PHP nào khác mà tôi có thể sử dụng để đơn giản hóa điều này không?
Tôi biết về API Facebook và thư viện (mà tôi đang sử dụng trong ứng dụng PHP và ứng dụng iPhone). Điều ở đây là tôi đang xây dựng API của riêng mình để trưng ra các thực thể/sản phẩm của riêng tôi được lưu trữ trong cơ sở dữ liệu của tôi. API của riêng tôi cung cấp chức năng như viết bài đánh giá sản phẩm hoặc tải ảnh sản phẩm lên máy chủ của chúng tôi. Vì vậy, tôi cần phải xác thực người dùng facebook. –
Ồ tôi hiểu rồi. Đó không phải là một vấn đề. Api đăng nhập sẽ đăng nhập người dùng. Từ đó bạn sẽ có thể chuyển tên người dùng, v.v. thành api của bạn. Facebook api đề cập đến việc đăng nhập. Đó là câu hỏi của bạn đúng không? – Jamesp1989
Vâng, do đó, điều chính là đây là một cách an toàn với nó; chuyển facebook ACCESS_TOKEN sang API của riêng tôi qua HTTPS để thêm người dùng mới vào bảng cơ sở dữ liệu người dùng của tôi. Và khi đăng bài đánh giá hoặc tải lên ảnh qua API của riêng tôi, hãy chuyển ACCESS_TOKEN một lần nữa để API của riêng tôi có thể tự giải quyết vấn đề đó là facebook_uid. –