我的公司正在开发一个如下工作的系统:
有一个iphone /移动应用程序和一个提供休息服务的php服务器。
在移动应用中,用户可以通过两种方式注册/登录:
虽然第1点非常清楚,但我对第2点有困难:
据我所知,序列应如下所示:
1 - 应用程序发送给fb用户数据,fb以某种方式我不在乎验证用户并回答“好,这是你”。 2-应用程序现在必须向php服务器请求一些用户数据。
在用户在应用程序中使用fb登录后,如何验证服务器和应用程序之间的通信?
我不能只问“向我发送用户fbid的数据”,因为有一个可以被任何人检索的简单请求。
答案 0 :(得分:4)
这就是你使用“密钥”(facebook设置的一部分)的原因。
当用户通过您的应用登录时,他们会批准与您的应用共享信息并获得令牌 - 令牌是会话ID。该会话ID只能由该用户使用该手机与您的应用程序一起使用 - 除非您拥有“密钥”。
然后,手机会将该会话ID传递给服务器。
然后,服务器将令牌与密钥一起传递,并且facebook向服务器返回与用户在电话上相同的信息。这就是它的认证方式。
其他人(手机上的用户除外)没有密钥,而且令牌没用。