iphone应用程序和第三服务器中的FB身份验证


FB Authentication in iphone app and third server

我的公司正在开发一个如下工作的系统:

有一个iphone/mobile应用程序和一个提供rest服务的php服务器。

在移动应用程序中,用户可以通过两种方式注册/登录:

  1. 用户名/密码对
  2. facebook帐户

而点1。很清楚,我在第2点遇到了困难:

据我所知,序列应该如下:

1-应用程序向fb发送用户数据,fb以某种方式表示我不在乎验证用户,并回答"好吧,是你"。2-应用程序现在必须向php服务器请求一些用户数据。

用户在应用程序中使用fb登录后,我如何验证服务器和应用程序之间的通信?

我不能只要求"把用户fbid的数据发给我",因为只要一个简单的请求,任何人都可以检索到。

这就是您使用"密钥"(facebook设置的一部分)的原因。

当用户通过你的应用程序登录时,他们会批准与你的应用共享信息,并获得一个令牌-令牌是会话id。该会话id只能由该用户使用,从你的应用的手机中使用-除非你有"密钥"。

然后,手机将该会话ID传递给服务器。

然后,服务器传递令牌和密钥,脸书会向服务器返回与用户在手机上相同的信息。这就是它进行身份验证的方式。

任何其他人(除了手机上的用户)没有密钥,令牌都是无用的。