2012-01-04 173 views
1

我正在构建一个帮助程序类,该类允许我在Windows窗体应用程序中管理Facebook帐户。我正在使用Facebook C# SDK。由于它是在其文档中建议,要知道,如果用户通过验证一个会得到loginUrl检查Facebook用户是否已通过身份验证

 var loginUrl = oauth.GetLoginUrl(parameters); 

再后来,导航到该URL

webBrowser.Navigate(loginUrl); 

因为我对的后端该应用程序,我想知道如何编写一个帮助类,将返回true或false来显示用户是否通过身份验证。我很乐意做这样的事情:

public static bool IsUserAunthenticated (string appId, string[] extendedPermissions) 

这个函数怎么写?有任何想法吗?请记住我使用Windows窗体上的.NET 4.0

回答

1

假设这个函数被调用一段时间后

webBrowser.Navigate(loginURL) 

像这样的解决方案可以工作:

假设:

  • 用户已经授权您的申请
  • 'facebookClient'是一个静态类字段已经初始化d

    public static bool isUserAuthenticated() { 
    try 
    { 
        facebookClient.Get("/me"); 
    
        //the lack of an exception thrown is a sign of success 
        return true; 
    } 
    catch (FacebookOAuthException e) 
    { 
        //your access token used to initialize 'facebookClient' is invalid 
        return false; 
    } } 
    

的一般常识:

  • 你没有表现出任何的代码来处理实际的访问令牌 的检索。我一直假设你为了简洁而放弃了这一点。

  • 传递“APPID”和“extendedPermissions”意味着这个方法 将被用来注册用户,没有进行测试,看看他们是否 已经应用程序的用户。

  • 与上述观点,你可以在访问令牌作为 参数传递这样你就可以初始化“facebookClient”内 方法和运行身份验证测试。

总结一点,如果你还没有意识到,你需要认识到有两个不同的阶段:获取访问令牌和使用访问令牌。

+0

非常感谢。这真的有帮助! – 2012-01-04 15:06:44

相关问题