Facebook WebGL游戏+ Facebook简单主机+ CORS。可能吗?

时间:2017-10-11 06:57:47

标签: facebook

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

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

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

是否可以使用Facebook的简单主机进行WebGL游戏并仍然可以联系我的网络服务器(mygamedomain.com)? FB应用程序配置中是否存在指定允许的域?

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

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

有任何想法或建议吗?

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

XMLHttpRequest cannot load https://mygamedomin.com/mygame.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://apps-1287636812638.apps.fbsbx.com' is therefore not allowed access.

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

  • 游戏由 facebook 主持,使用他们的" Simple Hosting"服务,在我自己的服务器上,。
  • 我知道CORS是解决方案 - 问题是 - Facebook是否允许/支持这个?如果是,我在哪里配置域允许。
  • 如果这是在我自己的服务器上我答案是微不足道的 - CORS。但事实并非如此。
  • 有一些黑客可以规避跨境限制 - 我不是在寻找这些限制。已有大量资源覆盖这些资源。

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

1 个答案:

答案 0 :(得分:0)

CORS 解决问题的方法。

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

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

因此,您需要在服务器上配置此项,以便将请求发送到