为什么GitHub Oauth2 Authorization标头的身份验证方案是'token'而不是'Bearer'?

问题描述

根据RFC6750,HTTP身份验证方案应为'Bearer'。但是this GitHub doc使用“令牌”作为方案。我已经尝试过这两个,看来这两个都在工作。

我的问题是:

  1. GitHub是否有理由使用“令牌”而不是标准?
  2. 只要服务器可以理解,此方案可以是任何东西吗?

解决方法

协议(如RFC6750)只是多方同意的通用标准,因此从根本上讲,是的,只要客户端和服务器都同意就可以。

OAuth特别具有许多扩展-实现者所做的事情不符合规范,或者在规范中可能含糊不清或不限成员名额。刷新令牌的处理是您经常看到的一个领域。

对于GitHub,我怀疑它们支持token标头,因为它们允许该标头用于OAuth令牌以外的其他类型的令牌,特别是个人访问令牌和GitHub App令牌。

此外,在您链接的RFC发布之前,这些使用中的至少某些(尤其是个人访问令牌)可能已经被使用。