2011-08-15 43 views
7

Tôi có thể xác thực ứng dụng Facebook cho máy tính để bàn bằng cách sử dụng điều khiển trình duyệt web. Nhưng tôi muốn đăng nhập mà không cần trình duyệt. Email và mật khẩu sẽ được cung cấp thông qua các cửa sổ form.I đã tìm kiếm rất nhiều, nhưng không tìm thấy gì về điều này.Cách đăng nhập/xác thực facebook mà không cần trình duyệt cho ứng dụng máy tính để bàn trong C#

Nhiều người nói rằng điều đó là không thể, facebook sẽ không cho phép chính sách bảo mật. Nhưng các ứng dụng như tweet tweet hoặc nimbuzz đang làm điều đó. Vì vậy, tôi nghĩ rằng nó có thể.

Tôi muốn sử dụng C# sdk mới nhất của Facebook.

Trả lời

10

Không thể thực hiện được. Xem liên kết này: https://developers.facebook.com/docs/authentication/

Để trích dẫn từ liên kết đó:

Desktop Apps

chúng tôi thực hiện OAuth 2.0 không bao gồm hỗ trợ ứng dụng máy tính để bàn rõ ràng. Tuy nhiên, nếu ứng dụng trên máy tính của bạn có thể nhúng trình duyệt web (hầu hết các khung làm việc như .NET, AIR và Cocoa hỗ trợ nhúng trình duyệt), bạn có thể sử dụng luồng phía máy khách với một sửa đổi: một redirect_uri cụ thể. Thay vì yêu cầu ứng dụng dành cho máy tính để bàn lưu trữ máy chủ web và điền URL trang web trong Ứng dụng dành cho nhà phát triển, chúng tôi cung cấp URL cụ thể mà bạn có thể sử dụng với ứng dụng dành cho máy tính để bàn: https://www.facebook.com/connect/login_success.html.

Lý do khiến điều này không thể xảy ra là facebook sử dụng giao thức OAuth. Bạn có thể tìm thêm chi tiết về giao thức OAuth tại: http://tools.ietf.org/html/rfc5849

Động lực cơ bản đằng sau OAuth là tài nguyên cần ủy quyền không cần biết thông tin đăng nhập/danh tính của người dùng.

Những gì bạn đang đề xuất (lấy tên người dùng/mật khẩu của khách hàng) đi ngược lại nguyên lý cơ bản của giao thức OAuth và bạn không thể (ít nhất là hợp pháp) đạt được điều này với facebook.

+4

cảm ơn bro cho phản hồi. Hiểu rồi. Nhưng tôi vẫn tò mò về cách người dùng đăng nhập phần mềm trò chuyện. họ không trình bày bất kỳ trình duyệt nào vào giao diện. – AtanuCSE

+0

Giải thích của bạn không chính xác. OAuth không yêu cầu trình duyệt, chỉ cần http. –

2

Cả hai ví dụ của bạn thực sự đều sử dụng trình duyệt. TweetdeckAIRNimbuzz.NET, cả hai đều có trình duyệt tích hợp phía sau hậu trường. Có one way to authenticate without a browser, nhưng thật khó chịu.

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