在客户端我使用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桌面应用程序不发送签名请求?那么如果在这种情况下如何对我的服务器进行身份验证呢?
答案 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
}
}