繁体   English   中英

Facebook WebGL 游戏 + Facebook 简单托管 + CORS。 可能的?

[英]Facebook WebGL Game + Facebook Simple Hosting + CORS. Possible?

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

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

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

是否可以将 Facebook 的 Simple Hosting 用于 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使用他们的“简单托管”服务托管,而不是在我自己的服务器上。
  • 我知道 CORS 是解决方案——问题是——Facebook 是否允许/支持这个? 如果是这样,我在哪里配置域以允许。
  • 如果这是在我自己的服务器上,我的答案是微不足道的 - CORS。 但事实并非如此。
  • 有一些黑客可以绕过跨域限制——我不是在寻找这些。 有很多资源已经涵盖了这些。

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

CORS您问题的解决方案。

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

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

所以你需要在你的服务器上配置它,你想.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM