2

我正在画布上开发多人 Facebook 游戏,在服务器端使用 Flash 客户端和 C#/.NET。通信使用套接字。Flash 在 asp.net 页面中加载。

我想从经验丰富的开发人员那里获得一些关于 Facebook 集成的最佳实践,主要是在身份验证模块中。

我想出了这些场景:

  1. facebook 的 Flash SDK(外部调用 JavaScript 方法)在启动和其他调用时对用户进行身份验证。
  2. 加载应用程序时的 ASP.NET 服务器端身份验证(可能使用 Javascript SDK)。然后使用“游戏服务器”(闪存与套接字通信)使用没有 JavaScript SDK 直接调用 FB api。

哪种方法更好,为什么?我认为也会有安全问题:|

编辑 我添加了一些细节:

这是一款适合 4 名玩家的简单多人游戏。首先,我将检查 facebook canvas 在 C# 的 aspx.cs 代码中发布的 signed_request,获取 facebook 提供的 UserId 并将其传递给 flash 客户端,在此 flash 客户端使用套接字连接到服务器并发送 UserId 之后,我需要“重新验证”这个 UserId 并检查它是否是我首先使用 signed_request 获得的 id(这一步是我卡住并需要帮助的地方)。在那之后我认为会没事的

4

1 回答 1

4

这取决于应用程序/游戏的类型以及您通过用户身份验证保护的内容。

如果它正在保护服务器上的任何内容,那么您不能仅仅依靠闪存客户端来验证用户身份。请记住,攻击者可以跳过您的 Flash 客户端或对其进行修改,以实现他们的目标。

一般来说,您希望在对游戏有意义的时间进行 facebook 身份验证,当它被发送到服务器时,它会验证并发出您自己的身份验证令牌,您可以在不访问任何外部资源的情况下进行检查。

于 2013-07-02T10:52:35.367 回答