访问令牌的长度是否超过255个字符?

Goo*_*bot 7 authentication facebook oauth twitter-oauth facebook-oauth

当允许OAuth登录时(例如OpenID,Facebook,Twitter等),我们将誓言提供者提供的访问令牌保存在mysql数据库中以供将来验证.在一些教程中,用于保存访问令牌的列是varchar(255)有用的text.我想知道访问令牌(由常见的网站,如Facebook和Twitter)是否超过255个字符需要text列.我们应该考虑这种可能吗?

Chr*_*ard 30

我在Facebook工作,我可以给出一个明确的答案.

请勿在存储上为访问令牌设置最大大小.随着我们添加和删除数据并更改它们的编码方式,我们预计它们会随着时间的推移而增长和缩小.

我们确实在一个地方提供了关于255个字符的指导.我已更新了包含该信息的博客文章,并更新了我们的新访问令牌文档,其中包含有关尺寸的说明:

https://developers.facebook.com/docs/facebook-login/access-tokens/

对困惑感到抱歉.

  • 这应该是接受的答案 - 只是遇到一个问题w /数据库列是varchar(255)并得到一个260字符的Facebook OAuth令牌. (3认同)

Adr*_*uez 3

根据我的经验,你不会遇到 Facebook 或 Twitter 的问题(在 3 年多的时间里,我的系统存储长度为 255 的数据没有出现过问题)。也就是说,快速搜索确实在 Quora 上提出了这个问题http://www.quora.com/OAuth-1/Whats-the-maximum-length-of-an-OAuth-access-token-key-secret-pair

这个答案非常古老而且不正确。看看最新的答案。不要限制访问令牌的大小。

  • 说真的,您还不如链接到专家交易所。Quora 答案的要点是:规范中没有涵盖长度;您不应明确限制您接受的令牌的大小;在 quora 回答时,yahoo 的代币约为 400 个字符;在不同的 quora 答案时,Facebook 的令牌大约有 344 个字符。 (4认同)