这是交换访问令牌(Fb C#SDK)的oauth代码的正确方法吗?

时间:2011-09-13 07:50:59

标签: c# oauth facebook-c#-sdk oauth-2.0

我这样做:

// Note: FbApp is set outside of this code (var FbApp = new FacebookApp();)
if (string.IsNullOrEmpty(FbApp.AccessToken)) {
  var oauthClient = new FacebookOAuthClient() { 
      AppId = FbApp.AppId, AppSecret = FbApp.AppSecret, 
      RedirectUri = new Uri("http://www.mysite.com/")
  };
  dynamic sessionData = FbApp.Session.Data;
  string code = sessionData.code;
  dynamic result = oauthClient.ExchangeCodeForAccessToken( code );
  FbApp.AccessToken = result.access_token;
}

我收到验证验证码的“(OAuthException)错误。”信息。 RedirectUri设置设置为与Facebook Apps页面相同的设置(带斜杠)。 AppId和AppSecret是正确的。

它似乎与我的测试应用程序有关,在我的开发箱上。一旦我将代码上传到制作,并切换到实时应用程序(在Fb上),它就开始以这种方式行动(.ExchangeCodeForAccessToken()不想正常工作)。

我做错了吗? :)

1 个答案:

答案 0 :(得分:0)

嗯,事实证明我比我需要的更努力(加上看起来FacebookApp已被弃用)。

如果您需要检查用户是否经过身份验证(具有令牌安全性),请执行以下操作:FacebookWebContext.Current.IsAuthenticated()。完成。很棒的SDK家伙,我真的很喜欢它。