FaceBook Auth和签名请求

时间:2012-04-19 15:01:07

标签: facebook flash authentication facebook-graph-api oauth

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

Facebook.init(MyFaceBooyKey, faceBookInit);

然后,面书会向客户端发送签名请求和其他内容。

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

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

所以现在我假设:

发送有效签名请求的客户是其中包含的Face book UID的所有者,客户端必须知道该UID的密码,他们是否已进入Facebook?

这个系统安全吗?

我如何安全地使用用户客户端facebook auth然后autho到第二台服务器,例如sepreak facebook游戏服务器。

如何判断已签名的请求未在网络上传输, 然后由一个派对发送给我,他现在使用Uiffrent UID登录我的服务器

如何以所有基于flash的Facebook游戏授权用户?

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

2 个答案:

答案 0 :(得分:0)

facebook上的所有auth流都使用SLL(https),因此您发送/获取的数据是安全的。 对于所有图形api请求也是如此,如果您尝试在http中发出api请求,同时包含访问令牌,您将得到此响应:

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

如果您将已签名的请求和/或访问令牌发送到您的服务器,那么您也应该通过https执行此操作,以及通信也将受到保护。

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

如果您需要服务器端的访问令牌,我建议您使用Server-Side Auth flow来获取它。 如果您在客户端需要访问令牌,那么您可以使用客户端身份验证,因为用户已经授权应用程序并且经过身份验证(通过服务器端流程)客户端进程应该对用户完全不可见,并且在它的末尾你也会在客户端有一个访问令牌(与服务器上的访问令牌不同)。

答案 1 :(得分: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
   }
}