0

我有一个 ASP.NET MVC 3 应用程序,它使用 Facebook C# SDK 进行了一些 Facebook 集成,并启用了 cookie 支持。

我曾计划(并且仍然希望)创建一个画布 Facebook 应用程序作为主应用程序的一个区域。问题是画布应用程序需要关闭 cookie 支持。无论如何要覆盖该区域中的此设置,还是我被卡住了?

更新 11/01/2011 我使用locationweb.config 中的节点来覆盖cookieSupport设置。

 <location path="facebook">
  <facebookSettings
   appSecret="***"
   appId="***"
   cookieSupport="false" />

  <canvasSettings
   canvasPageUrl="http://apps.facebook.com/***/"
   canvasUrl="http://www.***.co.uk/facebook/"
   authorizeCancelUrl="http://apps.facebook.com/***/home/cancel" />
 </location>

它似乎可以对已经授权该应用程序的用户进行身份验证,而不会出现问题。但是,尚未获得授权的用户不会通过身份验证(他们看不到权限对话框)。

我应该强调,当“facebook”区域的结构被放入它自己的应用程序时,配置会按预期工作。

富有的

4

2 回答 2

2

即使您不能通过特定区域的 web.config 文件来执行此操作,您也可以随时跳过 web.config 中的设置并手动设置它们:

    FacebookSettings facebookSettings = new FacebookSettings
    {
        AppId = yourAppId,
        AppSecret = yourSecret,
        BaseDomain = yourDomain,
        CookieSupport = false,
        MaxRetries = 2,
        RetryDelay = 500
    };
    var app = new FacebookApp(facebookSettings);
于 2011-01-11T00:04:08.890 回答
1

事实证明,这是 ASP.NET MVC3 RC2 和 Facebook C# SDK 4.1.1 之间的问题。有关详细信息,请参阅http://facebooksdk.codeplex.com/workitem/5794

该问题已在 SDK 的 4.2.1 版本中得到解决。

富有的

于 2011-01-13T00:39:06.283 回答