0

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

有一个 iphone/移动应用程序和一个提供休息服务的 php 服务器。

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

  1. 用户名/密码对
  2. 脸书账号

虽然第 1 点很清楚,但我对第 2 点有困难:

据我了解,顺序应该如下所示:

1 - 应用程序向 fb 发送用户数据,然后 fb 以某种我不在乎的方式对用户进行身份验证并回答“好的,是你”。2-应用程序现在必须向 php 服务器请求一些用户数据。

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

我不能只问“向我发送用户 fbid 的数据”,因为任何人都可以检索到一个简单的请求。

4

1 回答 1

4

这就是您使用“密钥”(Facebook 设置的一部分)的原因。

当用户通过您的应用程序登录时,他们同意与您的应用程序共享信息并获得一个令牌 - 该令牌是一个会话 ID。该会话 ID 只能由该用户从该手机与您的应用程序一起使用 - 除非您拥有“密钥”。

然后电话将该会话 ID 传递给服务器。

然后服务器将令牌连同密钥一起传递,Facebook 将向服务器返回与手机用户相同的信息。这就是它的身份验证方式。

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

于 2012-08-22T12:19:39.637 回答