we had exactly the same problem - the FB application did not work in Safari in the ASP.Net MVC project. Here is what we did to fix this:
Add P3P header to all repositories. You can configure it at the IIS server level: http://support.microsoft.com/kb/324013 - or do it directly in global.asax:
protected void Application_BeginRequest(Object sender, EventArgs e) { HttpContext.Current.Response.AddHeader("P3P", "CP=\"NOI CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT\""); }
Create a w3c folder in the root directory of your site (the so-called known location) and upload the p3p.xml and policy.p3p files to it in accordance with this Microsoft guide: How to deploy P3P privacy policies on your website
here is my p3p.xml file:
<META> <POLICY-REFERENCES> <POLICY-REF about="/w3c/policy.p3p"> <INCLUDE>/</INCLUDE> <COOKIE-INCLUDE/> </POLICY-REF> </POLICY-REFERENCES> </META>
and policy.p3p (sorry, but I'm not sure how to hide this as a spoiler):
<?xml version="1.0"?> <POLICIES xmlns="http://www.w3.org/2002/01/P3Pv1"> <EXPIRY max-age="86400"/> <POLICY xml:lang="uk"> <ENTITY> <DATA-GROUP> </DATA-GROUP> </ENTITY> <ACCESS><nonident/></ACCESS> <STATEMENT> <EXTENSION optional="yes"> <GROUP-INFO xmlns="http://www.software.ibm.com/P3P/editor/extension-1.0.html" name="Basic information"/> </EXTENSION> <CONSEQUENCE> Data collected from all Web users: access logs, and search strings (if entered).</CONSEQUENCE> <PURPOSE><admin/><current/><develop/></PURPOSE> <RECIPIENT><ours/></RECIPIENT> <RETENTION><indefinitely/></RETENTION> <DATA-GROUP> <DATA ref="#dynamic.clickstream"/> <DATA ref="#dynamic.http"/> <DATA ref="#dynamic.searchtext"/> </DATA-GROUP> </STATEMENT> <STATEMENT> <EXTENSION optional="yes"> <GROUP-INFO xmlns="http://www.software.ibm.com/P3P/editor/extension-1.0.html" name="Cookies"/> </EXTENSION> <CONSEQUENCE> Cookies are used to track visitors to our site, so we can better understand what portions of our site best serve you.</CONSEQUENCE> <PURPOSE><develop/><tailoring/></PURPOSE> <RECIPIENT><ours/></RECIPIENT> <RETENTION><business-practices/></RETENTION> <DATA-GROUP> <DATA ref="#dynamic.cookies" optional="yes"><CATEGORIES><uniqueid/></CATEGORIES></DATA> </DATA-GROUP> </STATEMENT> </POLICY> </POLICIES>
avs099
source share