当允许通过 OAuth(例如 OpenID、Facebook、Twitter 等)登录时,我们将 Oath 提供者提供的访问令牌保存在 mysql 数据库中以供将来验证。在某些教程中,保存访问令牌的列是varchar(255)
,有些使用text
. 我想知道访问令牌(通过 facebook 和 twitter 等常见网站)是否超过 255 个字符需要text
列。我们应该考虑这种可能性吗?
问问题
14074 次
3 回答
34
我在 Facebook 工作,对此我可以给出明确的答案。
请不要为访问令牌的存储设置最大大小。我们预计,随着我们添加和删除数据并更改它们的编码方式,它们会随着时间的推移而增长和缩小。
我们确实在一个地方给出了关于它是 255 个字符的指导。我更新了包含该信息的博客文章并更新了我们的新访问令牌文档以包含有关大小的注释:
https://developers.facebook.com/docs/facebook-login/access-tokens/
对困惑感到抱歉。
于 2013-05-03T19:08:26.607 回答
3
根据我的经验,您不会遇到 Facebook 或 Twitter 的问题(在 3 年多的时间里,在我的系统上存储它的长度为 255 对我来说没有问题)。也就是说,快速搜索确实在 Quora http://www.quora.com/OAuth-1/Whats-the-maximum-length-of-an-OAuth-access-token-key-secret-pair上提出了这个问题
这个答案非常古老且不正确。看看最新的答案。不要限制访问令牌的大小。
于 2011-11-11T19:03:25.040 回答
3
这似乎已经过时了...... Facebook 现在可以发送超过 255 个字符的令牌,至少是 60 天的令牌(那些替代离线访问的令牌)。
你检查过这个相关的问题吗?
于 2013-04-19T14:10:19.413 回答