我无法让 facebook 服务器端 oauth 在 ie9 上工作。它在 Firefox 和 chrome 上运行良好。我相信问题在于 IE 而不是信任 iframe。对此的标准解决方案是将一些 P3P 标头添加到 iframe 页面中。但是 ie9 仍然忽略我的 jsession cookie 并且身份验证过程循环。
我在我的 servletfilter 中设置了 p3p 标头
res.setHeader("P3P", "CP=\"XXXXX does NOT have a P3P policy\"");
我作为 iframe 的 JSF 页面具有简单的 oauth 登录 url
<h:outputLink target="_top" value="http://www.facebook.com/dialog/oauth/" class="login_btn" >
<f:param name="client_id" value="XXXXXXXXXXX"></f:param>
<f:param name="redirect_uri" value="https://apps.facebook.com/myapp/fbauth"></f:param>
我花了几个小时追踪通过 ie9 的流程。我无法让它工作。我已阅读每篇文章并尝试了所有类型的 P3P 代码。
任何帮助都会让我开心。
-lp