经过重要的巫毒教,我终于让分数 API 工作了。原来你必须设置 Enhanced Auth Dialog
至 disabled
或 Facebook 忽略您的 publish_actions
允许。只是提醒一下,以防其他人在挣扎。
但是,我完全在 Javascript API 中工作。没有可用的服务器端脚本。
发布分数的唯一方法是使用应用程序访问 token 。获得其中之一的唯一方法是使用应用程序 secret ,这必须在 javascript 代码中才能让全世界看到。那到底有多糟糕?
TBH 我不在乎是否有人在我的小型乒乓球式游戏中欺骗分数。对他们有好处,只有他们和他们的 friend 才能看到。这只是一点乐趣。但是,如果我的应用程序 secret 被发布,究竟会出现什么问题?有人可以劫持整个应用程序吗?或者这只是不好的做法,一个小游戏不会出什么问题?
这完全是 javascript SDK,所以它似乎只能通过用户访问 token 工作,所以我的第一直觉是没关系。但我想我会问......!
最佳答案
您还使用了哪些其他权限?如果您使用“publish_stream”,我相信您可以想象可能会发生的恶作剧!更糟糕的是,如果用户同时拥有您的公钥和私钥(他们会这样做),他们就可以创建一个完整的欺骗应用程序,将自己标识为您!
facebook 中的“域”选项应该可以防止这种情况,但是如果攻击者有任何机会可以执行 XSS attack他们可能会编写伪装成您的游戏的恶意应用程序。
你有没有想过写点什么非常简单与 google app engine仅用于处理应用程序身份验证 token ?
关于facebook-javascript-sdk - 发布应用程序 secret 到底有多糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7850067/