开发者

Facebook C# SDK: OAuth 2 in Silverlight 4 browser app

I'm completely newbie at authentication proccess with OAuth (I'm trying to make use of OAuth 2, exactly), and the example I am following to authenticate by using Facebook SDK latest release says that this code snippet should work for C# .NET environments (http://blog.prabir.me/post/Facebook-CSharp-SDK-Writing-your-first-Facebook-Application.aspx):

webBrowser.Naviga开发者_运维技巧te(loginUrl);

private void webBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
    FacebookOAuthResult result;
    if (FacebookOAuthResult.TryParse(e.Url, out result))
    {
       if (result.IsSuccess)         
       {
         var accesstoken = result.AccessToken;          
       }

       else
       {
         var errorDescription = result.ErrorDescription;
         var errorReason = result.ErrorReason;
       }
    }
} 

Since I am programming a browser SL app, the WebBrowser control displays nothing, so I am not either able to catch the response, how could I do something equivalent to that in my app? Or how could I manage to complete the authentication proccess if there is no equivalent way? Thanks!


A suggestion: Why don't you try to parse the WebResponse when you receive it as opposed to listening for the event?

I use Facebook OAuth in my web app. It is nothing but a series of URL posts with the correct parameters.

Take a look at this post: Login using Facebook Problem after logging out (All the details are in the answer and comments)

Here are the brief steps:

  1. Call the Facebook OAuth Dialog URL with your AppId, redirect url, and permissions. Request_type should be "code"
  2. When the user logs in and authorizes you application, they will be redirected to the redirect url with a "code" querystring parameter.
  3. Take the value of the code parameter and make another call to Facebook to get the token.
  4. Use this token to make calls on the user's behalf.
0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜