2010-10-14 29 views
13

Có thể có ứng dụng khách có thể xác thực bằng Facebook nhưng không yêu cầu trình duyệt (có nghĩa là không có trình duyệt được nhúng trong mã) ?? Người dùng nhập tên người dùng/mật khẩu và chỉ cho phép truy cập vào ứng dụng bằng ứng dụng khách.Có thể tạo ứng dụng dành cho máy tính để bàn bằng xác thực facebook oauth 2.0 mà không yêu cầu tương tác với trình duyệt không?

Bất kỳ đề xuất nào cũng sẽ hữu ích.

Cảm ơn, Tara Singh

Edit: Tôi đã tạo ra ứng dụng bằng Python mà đòi hỏi sự tương tác của trình duyệt. Bây giờ tôi muốn thoát khỏi điều đó và làm điều đó bằng cách sử dụng ứng dụng khách hàng của tôi chỉ. Bất kỳ Liên kết/Hướng dẫn ??

Cảm ơn lần nữa

Trả lời

8

Thực ra câu trả lời là hoàn toàn không.

Để cho phép ứng dụng của bạn người dùng phải nhập tên người dùng facebook và mật khẩu facebook của họ trên trang web facebook và bạn cần trình duyệt web cho việc này. Không có cách nào để bỏ qua bước này (bạn không thể hỏi tên người dùng và mật khẩu của họ là gì và sau đó trao đổi tự động cho mã thông báo truy cập). Bạn có thể đọc thêm về điều này here.

+8

Tại sao bạn cần một trình duyệt web để làm điều này? Tại sao tôi không thể tạo ứng dụng hoạt động chính xác như trình duyệt web liên quan đến mã POST/GET và mã phản hồi và không triển khai giao diện người dùng? Một trình duyệt web không phải là huyền diệu, nó là một chương trình giống như bất kỳ chương trình nào khác. Giao diện người dùng không liên quan. Nhúng các giao thức chính xác, thực hiện không có giao diện người dùng và, theo như bất kỳ trang web nào biết, đó là một trình duyệt. – KevinDTimm

+1

@KevinDTimm Vì vậy, sau đó câu trả lời của bạn là - nó có thể làm điều đó mà không có một trình duyệt, chỉ có bạn cần phải thực hiện trình duyệt của riêng bạn :) Chắc chắn, nó có thể trong trường hợp như vậy. Ngoài ra nếu bạn quan tâm về các vấn đề pháp lý, nó là chống lại facebook tos để yêu cầu người dùng cho mật khẩu facebook của họ. – serg

+3

Không, không phải trình duyệt của riêng bạn - thậm chí không gần, suy nghĩ - wget. Và, liên quan đến TOS - đó là vấn đề của người thực hiện - tôi chỉ trả lời những gì có thể thực hiện về mặt kỹ thuật. Tôi không biết TOS của họ là gì (và nó không phải là một phần của câu hỏi) – KevinDTimm

1

hoàn toàn có, nhưng, chúng tôi cần biết ngôn ngữ lập trình nào bạn muốn sử dụng trước khi chúng tôi có thể đưa ra nhiều lời khuyên.

Ví dụ, nó có thể sử dụng httpclient cho java và python để đóng gói tất cả các chức năng mà bạn cần, những người khác không thể chỉnh sửa với các thư viện mà họ sử dụng cho C, C++, perl, vv

[sửa]
tìm kiếm httpclient và cách nó được sử dụng với python. nếu bạn chạy wireshark trên hệ thống của mình, bạn sẽ có thể xem trao đổi dữ liệu (nếu bạn không hiểu giao thức http hoàn toàn) và sau đó thực hiện điều đó trong mã của bạn.
[/ edit]

+0

Tôi muốn sử dụng Python. Tôi đã thử tạo một nhưng tôi đang gọi trình duyệt, và bây giờ muốn sửa đổi nó để loại bỏ điều đó. Bạn có thể chỉ cho tôi bất kỳ Hướng dẫn/liên kết nào không. –

+0

hướng dẫn hoặc liên kết, không. xem chỉnh sửa của tôi ở trên để biết thêm. – KevinDTimm

+0

Chắc chắn, Cảm ơn bạn đã đề xuất. –

13

Tôi biết đây là một câu hỏi cũ và nó được trả lời nhưng tôi nghĩ rằng 'horse mouth GET'. Từ Facebook: https://developers.facebook.com/docs/authentication/ ...

Việc triển khai OAuth 2.0 của chúng tôi không bao gồm hỗ trợ ứng dụng dành cho máy tính để bàn rõ ràng. Tuy nhiên, nếu ứng dụng máy tính để bàn của bạn có thể nhúng một trình duyệt web (hầu hết các khuôn khổ desktop như .NET, AIR và hỗ trợ Cocoa trình duyệt nhúng), bạn có thể sử dụng dòng chảy client-side với một sửa đổi: a redirect_uri cụ thể. Thay vì đòi hỏi các ứng dụng máy tính để bàn để chủ một máy chủ web và cư URL trang web trong nhà phát triển ứng dụng, chúng tôi cung cấp một URL cụ thể mà bạn có thể sử dụng với các ứng dụng máy tính để bàn: https://www.facebook.com/connect/login_success.html ... [tiếp]

0

Có và không,

Tôi đã đã có cùng một vấn đề với máy chủ của tôi. Đó là giao diện điều khiển duy nhất, vì vậy tôi đã phải thực hiện một giải pháp. Đầu tiên tôi đã đăng nhập bằng cách sử dụng trình duyệt web lobo java. Tôi đã chuyển các cookie của lobo đến máy chủ của tôi.

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