【发布时间】:2011-07-21 09:09:49
【问题描述】:
我正在开发基于与服务器通信的 iPhone 应用程序,我想使用 Facebook 身份验证机制。
基本上,我认为它应该像这样工作:
- 在我的 iPhone 应用中,用户使用他的电子邮件和密码登录 Facebook。
- 用户允许相关 Facebook 应用程序访问他的数据。
- 成功登录后,我的 iPhone 应用收到访问令牌。
- 在与我的服务器进一步通信时,我的 iPhone 应用程序应使用接收到的 Facebook 访问令牌(例如:在查询中)。
- 当我的服务器收到来自 iPhone 应用程序的带有访问令牌的查询时,它应该询问 Facebook 这个令牌是否有效(以及对谁有效),如果是,服务器应该假定用户已通过 Facebook 进行身份验证。
我的问题是:如果给定的访问令牌有效,服务器应该如何询问 Facebook?我想我应该以某种方式检查令牌是否对我的 Facebook 应用程序有效。
我已经尝试了很多 Facebook 查询来查询图形 API,但我发现了这些查询,但都没有达到我的预期。能给我举个例子吗?
【问题讨论】:
-
除非用户在 FB 中退出应用程序,否则您可以将身份验证令牌发送到服务器(希望是 ssl)。通过graph api简单查询“/me”是成功还是失败?
-
您将收到来自 facebook 的消息,表明您的令牌无效 :)
-
我正在尝试做一些与您正在做的事情非常相似的事情。您从未将此问题标记为已回答,您有没有得到它的工作?
-
access_token 过期时会发生什么?我们应该要求用户再次登录吗?我想了解令牌过期后如何重新验证
-
@debianmaster 这取决于您的应用架构。如果您考虑“没有 FB 令牌 - 无法访问应用程序”的情况,那么请注销用户。否则,您可能会考虑“取消链接”逻辑,用户保持登录状态,但从 Facebook 收到的信息与他在服务器/客户端上的帐户分离。
标签: iphone facebook authentication