2011-09-30 45 views
5

Ok, tôi đã tìm kiếm hơn một giờ về chủ đề này và chỉ có thể tìm thấy các giải pháp OAuth mà tôi không cần hoặc không muốn.Đăng nhập bằng Facebook theo cách lập trình bằng tên người dùng/mật khẩu

Tôi cần xác thực bản thân mình với Facebook từ một địa điểm khác ngoài Facebook. Tôi cần trang web của tôi (khu vực quản trị) để xác thực với Facebook cho tôi và đăng thay cho tôi, trên tường của tôi, hoặc tường bạn bè của tôi. Đây là một công cụ quản trị, và tôi không muốn đăng nhập vào Facebook mỗi lần tôi đăng lên trang web của mình. Tôi cần tiện ích quản trị viên này để đăng nhập cho tôi và thêm bài đăng tự động với tiêu đề và hình ảnh: "Bài đăng mới trên example.com".

Có vẻ như tôi đã tìm kiếm ở khắp mọi nơi và chỉ có thể tìm ra giải pháp với việc tạo ứng dụng FB, cấp cho nó một số quyền nhất định, sử dụng quy trình xử lý quá phức tạp, đó là (dám nói) ngu ngốc vì tôi không muốn xác thực người khác, như khách truy cập. Tôi chỉ đơn giản muốn mô phỏng (trình duyệt của tôi), như thể tôi là người điều hướng qua các trang của họ và không phải là công cụ tự động. Tất nhiên tôi có lẽ có thể đi theo cách cURL và mô phỏng một tác nhân người dùng thực sự nhưng tôi không sắp bắt đầu cạo các trang FB.

Có cách lập trình xác thực cho FB bằng cách sử dụng một người dùng/pass đơn giản (thậm chí không được lưu trữ trên máy chủ) và nhận được các quyền giống như tôi thường nhận được khi xác thực thông qua trình duyệt không? Và tất nhiên, có được dữ liệu cần thiết trong một json hoặc đóng gói phân tích cú pháp máy khác? Tôi cho rằng tôi cần gửi một cookie hoặc một số dạng mã thông báo trên các yêu cầu susequent, nhưng đó không phải là vấn đề, tôi chỉ cần một cách xác thực với một người dùng/pass đơn giản và bỏ qua toàn bộ đăng ký ứng dụng đó.

Tôi cần một cái gì đó tương tự như twitter và google + có thể (?) Tôi đã tìm thấy một lớp đơn giản cho twitter nhưng không có gì trên google + (cùng một vấn đề, twitter đang đẩy mạnh cho cách tạo ứng dụng và sử dụng oauth, nhưng họ duy trì một cách xác thực như chính mình thông qua các yêu cầu REST đơn giản).

Trả lời

6

Tôi không tin rằng có một cách để làm những gì bạn mô tả, ngoài một phương pháp mô phỏng tác nhân người dùng đau đớn và không được hỗ trợ. Nó cũng không phải là một thực hành tốt để làm những gì bạn mô tả, như Facebook (và các trang web khác cho rằng vấn đề) không nên cho phép bên thứ ba để thu thập tên người dùng/mật khẩu, ngay cả khi nó chỉ trong quá cảnh. Tôi hiểu rằng trong kịch bản của bạn, bạn sẽ là người dùng duy nhất, nhưng Facebook phải thiết kế API của họ cho công chúng.

Tại sao không thiết lập Ứng dụng Facebook và sử dụng oauth? Bạn chỉ cần ủy quyền cho ứng dụng của mình một lần, nhận mã thông báo truy cập ngoại tuyến và sau đó sử dụng mã thông báo truy cập đó từ đó trở đi. Tôi nghĩ rằng điều này sẽ dễ dàng hơn so với cách tiếp cận bạn đang tìm kiếm bởi vì bạn sẽ không cần phải xác thực với Facebook mỗi lần. Bạn chỉ cần mã thông báo truy cập.

Lưu ý rằng mã thông báo truy cập ngoại tuyến sẽ hết hạn nếu bạn thay đổi mật khẩu Facebook hoặc bạn hủy ủy quyền ứng dụng của mình.

+0

:) tôi chỉ tìm thấy không có điểm trong việc tạo ra một ứng dụng cho bản thân mình, và tôi là người dùng duy nhất. Tôi tin rằng các ứng dụng dành cho việc cung cấp các tính năng mới cho "những người khác", những người muốn cài đặt ứng dụng của bạn và do đó cho phép bạn truy cập vào dữ liệu của họ ở các cấp độ khác nhau. Ngoài ra, đây là khu vực quản trị là một phần của ứng dụng lớn hơn được cài đặt trên vị trí của khách hàng. Tôi thà nói với khách hàng rằng anh ta có thể đăng lên FB từ khu vực quản trị và không yêu cầu anh ta tạo ứng dụng và tự cho phép mình làm người dùng :) – George

+0

Chắc chắn có lợi ích khi tạo ứng dụng riêng biệt, ngay cả khi bạn là người duy nhất người đăng từ đó. Bạn đã nói rằng bạn muốn ứng dụng đăng nội dung lên tường của bạn. Những người đã kết bạn với bạn có thể không muốn bị bắn phá liên tục với thư rác đó. Vì vậy, facebook cung cấp cho họ tùy chọn chặn mọi thứ bạn nói hoặc chặn mọi thứ mà ứng dụng của bạn nói. Tôi chắc chắn bạn sẽ thích cái sau. –

+0

Đúng, nhưng các tài khoản FB được sử dụng sẽ là tài khoản doanh nghiệp/doanh nghiệp hoặc các trang, do đó những người theo dõi các trang đó sẽ được quan tâm chính xác trong thông tin được đăng thông qua ứng dụng trực tuyến. Nói cách khác, không ai xác thực với FB như người dùng đó, nếu họ có cách để làm điều đó trực tiếp từ khu vực quản trị. – George

Các vấn đề liên quan