【问题标题】:Facebook WebGL Game + Facebook Simple Hosting + CORS. Possible?Facebook WebGL 游戏 + Facebook 简单托管 + CORS。可能的?
【发布时间】:2018-03-22 17:52:55
【问题描述】:

注意:已解决 - 问题没有意义,我对 CORS 的理解不正确,导致我提出这个问题。

答案很简单,正如下面@CBroe 指出的那样 - 需要在游戏服务器上配置 CORS(在此问题中的示例中)。

我想要使用 Facebook 的简单托管 (https://developers.facebook.com/docs/games/services/contenthosting/) 托管一个 Facebook WebGL 游戏。

是否可以将 Facebook 的 Simple Hosting 用于 WebGL 游戏并仍然联系我的网络服务器 (mygamedomain.com)? FB 应用程序配置中是否有指定允许的域?

解决这个问题的唯一方法是从 mygamedomain.com 提供游戏吗?

如果可能的话,我真的很想避免从我的网络服务器提供游戏。

有什么想法或建议吗?

不这样做会产生预期的错误:

XMLHttpRequest 无法加载 https://mygamedomin.com/mygame.php。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“https://apps-1287636812638.apps.fbsbx.com”。

只是为了清楚,因为似乎有些混乱:

  • 游戏由 facebook 使用他们的“简单托管”服务托管,不是在我自己的服务器上,.
  • 我知道 CORS 是解决方案 - 问题是 - Facebook 允许/支持这个吗?如果是这样,我在哪里配置域以允许。
  • 如果这是在我自己的服务器上,我的答案是微不足道的 - CORS。但事实并非如此。
  • 有绕过跨域限制的技巧 - 我不是在寻找这些。已经有很多资源涵盖了这些内容。

编辑:更改标题以更准确地反映我的问题。

【问题讨论】:

  • 为什么不试试呢?毕竟,您的服务器必须允许来自另一个域的访问。
  • @luschn 不,Facebook 正在托管它,他们的服务器需要允许访问。如果我托管它,它就可以正常工作。
  • 那么,如果您尝试一下,那么确切的错误信息是什么?
  • @luschn,不知道你在问什么。为了能够对不是应用程序主机的域进行网络调用,您需要设置 CORS 权限(允许在 http 标头中)。要做到这一点,FB 需要允许我以某种方式指定它才能正常工作。我希望知道它是否可以不能完成的人可以澄清任何一种方式。无论哪种方式,我的研究都没有找到任何词。
  • @luschn FWIW,我将错误添加到 OP。

标签: facebook


【解决方案1】:

CORS 您的问题的解决方案。

这个问题/答案不是 Facebook 特有的 - 与为您的内容提供服务的任何其他域相同,该问题与您自己的不同。

您的客户端代码托管在 Facebook 域下,并尝试向您的域发出请求 - 这是跨域部分。您的域是有权允许或拒绝此请求的一方 - 默认情况下,它会被拒绝,但通过使用适当的标头响应,您的服务器可以向浏览器发出信号,“是的,没关系,他 [你的在 facebook.com 下运行的代码] 是好人之一……”

所以你需要在你的服务器上配置这个,你想发出请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多