将旧的facebook身份验证密钥迁移到access_token

时间:2011-12-13 14:32:38

标签: facebook migration

我正在开发一个旧应用程序,现在将更新,以便我们可以支持新的Facebook功能。我注意到用户模型有uuid,atoken和asecret facebook密钥。

在旧网站中,用户可以使用Facebook登录并发布状态更新。问题是我需要将旧用户信息迁移到新架构。

我很奇怪,因为我没有为我的用户提供access_token,我怎么能将令牌和秘密Facebook密钥转换为oauth2 access_token,因为我需要旧用户能够使用该应用程序几乎不会注意到任何架构只改变设计中的那些。

1 个答案:

答案 0 :(得分:1)

我相信您必须检查当前令牌 - 如果当前令牌包含'用户的ID,然后只需为他们提供一个链接,以更新他们的令牌成为一个身份验证令牌。

他们应该已经实现了一些东西,以便可以提交旧令牌来交换请求新的身份验证令牌。 但我猜他们正在做这些更改,迫使用户重新登录并维护他们的隐私。

- edit-- 我纠正了。 Facebook确实实现了这一点,尽管在他们的cr#p文档中找不到它很容易: Facebook Migration

要运行的代码是:

curl -F client_id=your_app_id \
 -F client_secret=your_app_secret \
 -F sessions=session_key1,session_key2 \
 https://graph.facebook.com/oauth/exchange_sessions

这将返回一个正确的OAuth访问令牌,然后可以与所有3.x SDK一起使用