【发布时间】: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