开发者

How to login / authenticate facebook without browser for desktop application in C#

开发者 https://www.devze.com 2023-03-28 06:51 出处:网络
I can authenticate Facebook for desktop applica开发者_如何学Gotion using web browser control. But I want to log in without the browser. Email and password will be given through windows form.I\'ve sear

I can authenticate Facebook for desktop applica开发者_如何学Gotion using web browser control. But I want to log in without the browser. Email and password will be given through windows form.I've searched a lot, but found nothing on this.

Many people saying that it's not possible, facebook won't allow for privacy policy. But applications like tweet deck or nimbuzz are doing that. So I think it's possible.

I want to use Facebook's Latest C# sdk.


It is not possible. See this link: https://developers.facebook.com/docs/authentication/

To quote from that link:

Desktop Apps

Our OAuth 2.0 implementation does not include explicit desktop app support. However, if your desktop app can embed a web browser (most desktop frameworks such as .NET, AIR and Cocoa support embedding browsers), you can use the client-side flow with one modification: a specific redirect_uri. Rather than requiring desktop apps to host a web server and populate the Site URL in the Developer App, we provide a specific URL you can use with desktop apps: https://www.facebook.com/connect/login_success.html.

The reason that this is not possible is that facebook uses the OAuth protocol. More details on the OAuth protocol can be found at: https://www.rfc-editor.org/rfc/rfc5849

The fundamental motivation behind OAuth is so that the resource that needs authorization does not need to know the credentials/identity of users.

What you are proposing (taking in the clients username/password) goes against the fundamental tenets of the OAuth protocol and you cannot (at least legally) achieve this with facebook.


Both of your examples actually do use browsers. Tweetdeck is AIR, and Nimbuzz is .NET, both of which have browsers built-in that are behind the scenes. There is one way to authenticate without a browser, but it's nasty.

0

精彩评论

暂无评论...
验证码 换一张
取 消