我在Google和StackOverflow上搜索了我的问题的答案,但我找不到答案.
我想将access_token存储到我的数据库以进行脱机访问,我想确保指定列的正确长度.
我甚至无法找到数字和字符串之间的数字或混合.
Chr*_*ard 127
我在Facebook工作,我可以给出一个明确的答案.
请勿在存储上为访问令牌设置最大大小.随着我们添加和删除数据并更改它们的编码方式,我们预计它们会随着时间的推移而增长和缩小.
我们确实在一个地方提供了关于255个字符的指导.我已更新了包含该信息的博客文章,并更新了我们的新访问令牌文档,其中包含有关尺寸的说明:
https://developers.facebook.com/docs/facebook-login/access-tokens/
对困惑感到抱歉.
Joh*_*ika 70
随着Facebook最近转向加密访问令牌,访问令牌的长度最多可达255个字符.如果要将访问令牌存储在数据库中,则该列应该至少可以容纳varchar(255).以下是2011年10月4日Facebook开发者博客的摘录:
"启用加密访问令牌迁移后,访问令牌的格式发生了变化.新的访问令牌格式完全不透明,您不应该对代码中的格式有任何依赖.一个varchar(255)字段就足够了存储新的令牌."
完整博客文章:https://developers.facebook.com/blog/post/572
来自The OAuth 2.0 Authorization Protocol(draft-ietf-oauth-v2-22)的第1.4节
访问令牌可以具有基于资源服务器安全性要求的不同格式,结构和使用方法(例如,加密属性).访问令牌属性和用于访问受保护资源的方法超出了本规范的范围,并由协同规范定义.
我查找了"伴随规格",但未发现任何相关内容,并在第11.2.2节中说明
o参数名称:access_token
o参数用法位置:授权响应,令牌响应
o更改控制器:IETF
o规范文档:[[本文档]]
这似乎表明access_token参数是在此规范中定义的.我猜这个参数是,但实际的访问令牌没有完全充实.
更新:本规范书写的最新版本(draft-ietf-oauth-v2-31)包括一个附录,该附录更好地定义了对access_token参数的期望
A.12."access_token"语法
Run Code Online (Sandbox Code Playgroud)The "access_token" element is defined in Section 4.2.2 and Section 5.1: access-token = 1*VSCHAR
基本上这意味着access_token的长度至少应为1个字符,但对此规范中定义的时间没有限制.
请注意,它们定义VSCHAR =%x20-7E
小智 5
Facebook 访问令牌的长度可以超过 255 个字符。我有很多错误,比如ActiveRecord::StatementInvalid: PG::StringDataRightTruncation: ERROR: value too long for type character varying(255)值是 facebook 访问令牌。不要使用string类型列,因为它的长度是有限的。您可以使用text类型列来存储令牌。
| 归档时间: |
|
| 查看次数: |
57547 次 |
| 最近记录: |