我正在使用Flash客户端和服务器端的C#/ .NET开发多人Facebook游戏。通信正在使用套接字。 Flash在asp.net页面中加载。
我想要有经验的开发人员关于Facebook集成的一些最佳实践,主要是在身份验证模块中。
我想出了这些场景:
- 用于facebook的Flash SDK(外部调用JavaScript方法)在启动和其他调用时对用户进行身份验证。
- 加载应用程序时的ASP.NET服务器端身份验证(可能使用Javascript SDK)。然后使用“游戏服务器”(Flash服务器) 与套接字通信)不使用直接调用的JavaScript SDK 到FB api。
醇>
哪种方法更好,为什么?我认为也存在安全问题:|
修改 我添加了一些细节:
这是4个玩家的简单多人游戏。首先,我要在C#的aspx.cs代码中检查facebook canvas发布的signed_request,将facebook提供给UserId并将其传递给flash客户端,此flash客户端连接到带有套接字的服务器并发送UserId后,我需要“reAuthenticate”这个UserId并检查它是否是id我首先使用signed_request(这一步是我被困住并需要帮助的地方)。之后,我认为这将是好的
答案 0 :(得分:4)
这取决于应用/游戏的类型以及您通过用户身份验证保护的内容。
如果它正在保护服务器上的任何内容,那么您不能仅依靠Flash客户端来验证用户身份。请记住,攻击者可以跳过您的Flash客户端或修改它,以实现其目标。
一般情况下,您希望在对游戏有意义的时间进行Facebook身份验证,当它发送到服务器时,它会验证并发布您自己的身份验证令牌,您可以在不点击任何外部来源的情况下进行检查。