最近我注意到我在 Facebook 上的应用程序停止正常工作。
当有人打开尚未授权的应用程序时,我会显示带有链接的简单内容,单击链接时,在应用程序中我发出重定向(在 Spring 中我返回“redirect:...url..”)到 URL:
它将给定位置的 302 发送到 iFrame。
然后显示空白 iFrame,并返回来自 FB 的以下标头:
Cache-Control private, no-cache, no-store, must-revalidate
Connection keep-alive
Content-Encoding gzip
Content-Type text/html; charset=utf-8
Date Fri, 25 May 2012 10:37:11 GMT
Expires Sat, 01 Jan 2000 00:00:00 GMT
P3P CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p"
Pragma no-cache
Set-Cookie _e_1vFX_0=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.facebook.com; httponly locale=pl_PL; expires=Fri, 01-Jun-2012 10:37:11 GMT; path=/; domain=.facebook.com wd=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=.facebook.com; httponly
Transfer-Encoding chunked
X-Content-Type-Options nosniff
X-FB-Debug VYI+cCm/Vfpx3US82n06uFuw5gF6UQDg+8GUSpGUL9A=
X-Frame-Options DENY
X-XSS-Protection 0
x-content-security-policy... allow *;script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:*;options inline-script eval-script;report-uri https://www.facebook.com/csp.php
并且只显示空白 iFrame。
当我重定向到的 URL 直接粘贴到浏览器时 - 它会显示 Facebook 提示以授权应用程序。
任何想法为什么当 iFrame 从在浏览器中粘贴和打开相同的链接重定向时行为会有所不同?
我今天注意到了这一点,以前的应用程序运行良好。
这是我的示例应用程序: https ://apps.facebook.com/acnestop/