有没有办法使用 Octokit/rest.js 列出个人访问令牌范围?

Is there a way to list a personal access token's scopes using Octokit/rest.js?

我们在工作中使用 Octokit 来自动化一些工作流程,但大多数时候我们遇到的问题是用户没有正确设置他们的个人访问令牌,范围正确。

我们希望在应用程序运行之前进行检查,以检查给定的令牌是否具有正确的范围,并在一开始就向工程师提供有意义的错误消息,而不是在过程的后期失败。

是的,响应中列出了个人访问令牌的范围 header,您可以这样访问它

const { headers } = await octokit.request('HEAD /')
const scopes = headers['x-oauth-scopes'].split(', ')

参见:Understanding scopes for OAuth Apps