使用 GitHub OAuth API 执行授权时,用户会通过临时代码参数重定向回某个应用程序
临时代码参数可以交换访问令牌,发送 POST 请求到
https://github.com/login/oauth/access_token
,如 API 参考中所述
该端点的响应包含访问令牌以及其中的
scopes
,话虽如此,请考虑以下流程:
基于最后一步,为了向用户发出再次需要授权的信号,需要在已授予并包含在访问令牌中的范围与现在需要的范围之间进行比较
是否可以访问其他 API 路由来获取有关该用户的访问令牌的更多信息?作为另一个参考,OAuth 规范将其称为“令牌自省端点”:https://datatracker.ietf.org/doc/html/rfc7662
在 GitHub 的 OAuth API 中,没有如 RFC 7662 中指定的内置令牌自省端点来直接获取有关访问令牌的详细信息。
但是,您可以通过点击 https://api.github.com/user 端点来收集一些信息。当您使用
Authorization
标头中的访问令牌进行此 API 调用时,响应将包含 X-OAuth-Scopes
标头。此标头包含已授予令牌的范围的逗号分隔列表。要查找应用程序授予的范围和所需范围之间的差异,您必须在两组之间进行手动比较(差异)。