我注意到的惯例是在授权字段下将JWT作为头部发送。标准是这样发送令牌:
Authorization: Bearer <token>
Authorization:Bearer [token]
我的问题是为什么我需要加上Bearer,而不是只写:
Authorization:[token]
当我收到第一个请求时,我需要解析每个请求以摆脱Bearer,并在验证JWT时使用。这样做的目的是什么?
我注意到的惯例是在授权字段下将JWT作为头部发送。标准是这样发送令牌:
Authorization: Bearer <token>
Authorization:Bearer [token]
我的问题是为什么我需要加上Bearer,而不是只写:
Authorization:[token]
当我收到第一个请求时,我需要解析每个请求以摆脱Bearer,并在验证JWT时使用。这样做的目的是什么?
它始于HTTP 1.0标准,该标准添加了 Authorization: Basic
。
后来一些其它流行的协议(/框架)普及了其他类型的身份验证,例如OAuth的Authorization: Bearer
。
实际上,HTTP标准(无论是"过时的"还是"更现代的")都将其声明为
Authorization = "Authorization" ":" credentials
没有任何关于如何塑造 credentials
的限制。
因此,只要对您有效,您可以自由决定要放什么。
Authorization: Basic
https://tools.ietf.org/html/rfc2617#section-2,然后由oauth进一步推广,引入了`Authorization: Bearer`(和其他)https://tools.ietf.org/html/rfc6749#section-7.1。因此,它用于指定正在发送的身份验证凭据的类型。 - zerkms