我有一个ASP.NET MVC 3应用程序,其中一些Facebook集成使用Facebook C#SDK并启用了cookie支持。
我曾计划(并且仍然希望)创建一个画布Facebook应用程序作为主要应用程序的区域。问题是canvas应用程序需要关闭cookie支持。无论如何在“区域”中覆盖此设置,还是我被卡住了?
2011年11月1日更新
我使用了web.config中的location
节点来覆盖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'的结构被放入它自己的应用程序时,配置会按预期工作。
富
答案 0 :(得分: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);
答案 1 :(得分:1)
这在ASP.NET MVC3 RC2和Facebook C#SDK 4.1.1之间出现了问题。有关详细信息,请参阅http://facebooksdk.codeplex.com/workitem/5794。
此问题已在SDK 4.2.1版中得到解决。
富