我打算将Facebook作为我正在构建的应用程序的唯一登录机制,并需要对设计提供一些反馈。在这里 -
用户打开应用程序并显示注册屏幕。 facebook授权流程开始,让我们假设它成功并且用户已经成功注册了自己。成功后,应用程序调用Facebook图形API并获取用户的名字,姓氏,电子邮件,出生日期等。使用此数据,应用程序然后调用名为RegisterUser(string Fullname, string FirstName, string LastName ...)
的Web服务方法,该方法在数据库中。
现在,对于API的后续调用,我需要验证请求是否真正来自我的应用程序(不一定是特定用户)。我查了一下S3 REST API,似乎每个请求都有一个名为Authorization
的HTTP头,客户端通过附加一堆其他HTTP头来创建,如Date,Method,Request数据,用它签名客户端的私钥并计算其base64编码值。这在服务器端验证以验证客户端。
现在,我很乐意实施所有这些,但有几个问题:
谢谢,
Teja公司。
答案 0 :(得分:0)
确保对base64编码的值应用单向散列算法 - base64是双向编码,因此您不希望窃听者对您的私钥进行逆向工程。 Amazon S3在执行base64之前执行SHA-1。
与所有(AFAIK?)编译的二进制文件一样,您的应用程序不应该被反编译。