0

在客户端,我使用 Flash API 登录并验证客户端

Facebook.init(MyFaceBooyKey, faceBookInit);

然后脸书将签名请求和其他内容发送回客户端。

然后我的客户端将此签名请求发送到我的服务器。

在我的服务器上,我处理签名请求并弹出一个 FaceBook 用户 ID (UID)

所以现在我假设:

发送有效签名请求的客户端是其中包含的 Facebook UID 的所有者,客户端必须知道该 UID 的密码,并且他们已登录 facebook ?

这个系统安全吗?

我怎样才能安全地使用用户客户端 facebook 身份验证,然后将身份验证到第二个服务器,例如 sepreak facebook 游戏服务器。

我怎样才能让签名的请求在网络上的传输过程中没有得到处理,然后由第三方发送给我,他们现在以 Uiffrent UID 登录到我的服务器

如何对所有基于 theas flash 的 Facebook 游戏进行用户身份验证?

我还注意到,同一本书的身份验证通过桌面应用程序不会发送签名请求?那么在这种情况下如何对我的服务器进行身份验证?

4

2 回答 2

0

facebook 的所有身份验证流程都使用 SLL (https),​​因此您发送/获取的数据是安全的。所有图形 api 请求也是如此,如果您尝试在 http 中发出 api 请求同时包含访问令牌,您将收到以下响应:

{
   "error": {
      "message": "You must use https:// when passing an access token",
      "type": "OAuthException",
      "code": 1
   }
}

如果您将签名的请求和/或访问令牌发送到您的服务器,那么您也应该通过 https 进行操作,这样通信也将得到保护。

客户端(我假设您的意思是 Flash 客户端)不是访问令牌/签名请求的“所有者”,您的应用程序是“所有者”。

如果您需要服务器端的访问令牌,我建议您使用服务器端身份验证流程来获取它。如果您随后需要客户端的访问令牌,那么您可以使用客户端身份验证,因为用户已经授权应用程序并确定(通过服务器端流程)进行身份验证,客户端进程应该对用户完全不可见,最后,您还将在客户端拥有一个访问令牌(与服务器上的不同)。

于 2012-04-19T16:32:29.380 回答
0
 "message": "You must use https:// when passing an access token",
      "type": "OAuthException",
      "code": 1
   }
} "message": "You must use https:// when passing an access token",
      "type": "OAuthException",
      "code": 1
   }
} "message": "You must use https:// when passing an access token",
      "type": "OAuthException",
      "code": 1
   }
}
于 2014-09-19T02:17:19.593 回答