【问题标题】:What field type to store the facebook token?存储 facebook 令牌的字段类型是什么?
【发布时间】:2013-05-04 03:18:25
【问题描述】:

我创建了一个简单的 facebook 应用程序,我想将 facebook 令牌存储在我的 mysql 数据库中。我必须使用什么字段类型来存储 facebook 令牌?

【问题讨论】:

  • varchar(255) 应该没问题吧?
  • 没有。不要限制令牌的存储大小。

标签: mysql facebook facebook-graph-api


【解决方案1】:

您需要存储您从 facebook 身份验证 API 返回的 access_token 和 user_id,因此如果您需要重新生成访问令牌,您可以使用用户 id 执行此操作。

请注意,Facebook 将逐步淘汰 offline_access 权限,这是大多数永久身份验证风格应用程序的支柱,其中访问令牌作为主要身份验证凭据保存到数据库中。这将意味着无限期地依赖一个访问令牌的旧服务器端方法将不再可行。可以在此处找到有关此更改的详细信息:

https://developers.facebook.com/roadmap/offline-access-removal/

就字段类型而言,您可以存储为 mysql VARCHAR(255) 或 TINYTEXT

What is the length of the access_token in Facebook OAuth2?

【讨论】:

  • 我正在创建一个简单的博客站点,在用户使用 facebook 登录后,每篇博文都会自动发布在 facebook 上(使用 facebook 令牌)。以后没有离线访问的时候这个功能可以用吗?
  • 基本上您需要定期(60 天)通过登录重新生成令牌,或者切换到客户端 JS SDK 并依靠浏览器中的 facebook cookie 来确定登录状态。 (IE,如果用户登录到 facebook,他们会为你进行身份验证)如果你在 web 环境中这样做,我真的建议切换到 JS SDK(我自己刚刚完成了这个迁移。)实现登录并保持状态一致使用它们提供的提示要容易得多,并且取消离线访问会消除旧方法的任何优势。
  • 那么,使用 JS SDK 重新生成令牌要容易得多吗?谢谢:D
  • 很多交互都被简化了,假设您很乐意将一些客户端代码集成到您的身份验证流程中。我们在与我合作的团队中完成此操作的方法是通过 facebook 用户 ID 关联数据库用户。对 SDK 方法 getAuthStatus 的调用会检查有效会话,然后从那里一切都由浏览器中的 cookie 状态处理。无论域如何,SDK 都可以使用 Facebook cookie。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 2016-08-06
  • 1970-01-01
  • 2012-07-27
  • 2021-01-13
  • 1970-01-01
相关资源
最近更新 更多