为啥我们在授权头的token前面写Bearer?

Posted

技术标签:

【中文标题】为啥我们在授权头的token前面写Bearer?【英文标题】:Why we write Bearer in front of the token in the authorization header?为什么我们在授权头的token前面写Bearer? 【发布时间】:2020-09-16 10:16:36 【问题描述】:

例如,当我有一个发布方法 - 登录时,我会取回已签名的 JSON Web 令牌。我在 youtube 上观看了一些教程,当他们检查用户是否被授权时,他们会在授权标头中发送 JWT,例如:

不记名-token-

我的问题是:如果我们只发送授权标头中的令牌,而令牌前面没有“Bearer”,那么为什么他们会这样做?

【问题讨论】:

另见:security.stackexchange.com/questions/108662/… 【参考方案1】:

因为它在相关的标准文档中。一般方案是您首先声明令牌的类型(在本例中为“Bearer”),然后是令牌本身。还有其他身份验证方案,它们使用不同类型的关键字(如“基本”或“摘要”)。如果您控制 Web 服务器并自己解析标头,那么当然,您可以使用您喜欢的任何语法。您甚至可以发明自己的标题,没有人阻止您。但是,当您需要与其他系统集成时,使其符合统一标准会更容易一些。 :)

【讨论】:

感谢您的回复和完美的回答 标准在RFC6750中有描述:tools.ietf.org/html/rfc6750

以上是关于为啥我们在授权头的token前面写Bearer?的主要内容,如果未能解决你的问题,请参考以下文章

Bearer Token 认证和 JWT

OAuth 2.0: Bearer Token Usage

Postman 上的授权类型 Bearer Token

OAuth 2.0: Bearer Token Usage

尝试使用 AD 令牌/承载令牌 [Azure-Blob][Bearer-Token] 在 Azure Blob 中放置文件时授权权限不匹配

OAuth 2.0 Bearer-Tokens 与 Mac-Tokens。为啥不使用 Mac 令牌?