找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 543|回复: 1

关于 Bearer Token

[复制链接]
发表于 2024-9-24 14:06:01 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
做鉴权相关的时候,HTTP 头上的 Authorization 里会用上叫 Bearer 的 token。我尝试去理解为何它叫 Bearer,为何需要去区分不同的 Authorization。

首先从单词出发,Bearer 直译是“承载者”的意思,不少中文文章便选择将其解释为“承载者令牌”。直译一般有问题是我的经验,我多找了一些资料(当然只能找英文的)试图找到解释它的线索,其中最有价值的是 Bearer Token 属于不可撤销 Token —— 意味着它从颁发开始便一直有效,为了防止被滥用, Bearer Token 的基本属性之一是时效性。后面再通过词典找到了一个 bearer 的英文用法:Payable Bearer,凭票即付,也就是这个 Bearer 是可当作被支付的。换算到计算机的语境下面,就是“看见这个 Token 便无条件准许”的意思。

挖到这里其实我还不算很明白到底该如何更好地翻译 Bearer Token。还是 DeepL 救了我,给出了“不记名令牌”这个翻译,让我感到十分信达雅。“不记名” 的意思在这里是“无需明晓出示令牌的人的身份,见令牌即可”的意思(可以理解为古装剧里的免死金牌就是 Bearer Token)。

评分

参与人数 1威望 +20 宅币 +20 贡献 +20 收起 理由
misakarinkon + 20 + 20 + 20 屌!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2024-9-24 14:17:50 | 显示全部楼层
至于 Authroization: Bearer 后是否一定要塞入不记名令牌呢?

快速的答案是:现实的可能性是无限的,谁爱塞什么就塞什么,毕竟对计算机来说它就是一串数字。

复杂的答案是:不建议,计算机的世界是协议构成的世界,忽视协议定义塞数据,定义的价值便无效,构建在协议之上的确定性便被破坏了。
遵循标准不是强制性,但如同协议本身只有认同了之后效力才真实生效,认同了这个结构后,其他认同这个结构的人便能开发出互相兼容的软件。这便是工业标准的意义。

Authorization 头的定义是:
  1. Authorization: <auth-scheme> <authorization-parameters>
复制代码


auth-scheme 标示使用者应该备注上类型,而后面的 authorization-parameters 代表鉴权载文。

其中标准的 auth-scheme 有这些类型:
Basic,基本,内容是简单的用户名密码,通过 Base64 编码
Digest,哈希,内容是一串参数,并通过其中 algorithm 指定的算法签名保护。
Authroization - HTTP|MDN

Bearer 的内容很自由,当然也是因为它属于事实标准,而不是以上两个那样的成文标准。
回复 赞! 靠!

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-12-21 22:20 , Processed in 0.031535 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表