5

我创建了两个 Facebook 画布应用程序。我在访问应用程序时遇到问题。在应用程序设置中,您必须输入:

画布 URL 安全画布 URL

Secure Canvas URL 不接受 HTTP 链接,但只接受 HTTPS。当我的一些用户访问我的应用程序链接时,例如http://apps.facebook.com/my_app Facebook 会自动将他们重定向到 https://...

Canvas 应用程序内容是从我的服务器加载的,该服务器只能通过 HTTP 访问。被重定向到https://apps.facebook.com/my_app的用户无法加载我的应用程序,因为 Facebook 画布想要通过 HTTPS 从我的服务器加载内容。我如何解决这个问题,而不在 mu 服务器上启用 SSL?

并非所有用户都被重定向到https://apps.fa ...?这是如何处理的?

4

4 回答 4

8

我想出了一个有趣的技巧来解决这个问题。

您可以创建一个可通过 HTTPS 访问的 HTML 文件,该文件仅重定向到您的网页。例如,您可以使用保管箱。由于 Facebook 在 iframe 中加载您的安全画布 URL 页面,因此您的代码需要重定向首页。像这样的东西。

<html>
  <head>
    <script>
    function onLoad() {
      window.top.location.href="<your website>";
    }
    </script>
  </head>
  <body onload="onLoad()">
    <p>Please wait while you are being redirected to <your website name>…&lt;/p>
  </body>
</html>

并提供此链接作为安全画布 URL。我在博客上对此进行了更详细的介绍 - http://blog.almabase.com/post/84579042935/interesting-hack-for-facebook-secure-canvas-url

于 2014-05-03T03:12:11.857 回答
7

基本上,您必须提供 https 支持。目前,您仍然可以将 Secure Canvas URL 字段留空以避免这样做,但从 10 月 1 日开始将需要这样做。

于 2011-09-05T14:02:07.150 回答
2

已明确表示希望在其帐户设置中使用 HTTPS 的 Facebook 用户会被重定向到 HTTPS。您的应用程序必须在 10 月 1 日之前支持 HTTPS,正如 Facebook 在此处宣布的那样:https ://developers.facebook.com/blog/post/497

于 2011-09-05T12:53:13.140 回答
1

如果不在您的服务器上启用 SSL,您可以尝试 social-server.com 但是,这只是一种快速的解决方法。您的用户在使用 https 时可能会从他们的浏览器中收到令人讨厌的安全消息。

如果您仍想开发 Facebook 应用程序,最好的解决方案是购买 SSL 证书。

于 2011-09-05T14:12:11.447 回答