公开使用 GitHub 访问令牌

Posted

技术标签:

【中文标题】公开使用 GitHub 访问令牌【英文标题】:Using GitHub access token publicly 【发布时间】:2022-01-20 23:46:30 【问题描述】:

我需要,但以某种方式将其限制在我的网站上。

用例: 我创建了一个从 Github 中提取一些信息的投资组合网页。我需要的一些信息需要访问令牌。我可以生成访问令牌并将其与获取请求一起使用以获取信息,但是,这样做并不安全,因为公共用户可以看到访问令牌。所以我想知道是否有办法将访问令牌的使用限制为域、IP 地址,或者是否有另一种方法可以在没有访问令牌的情况下对请求进行身份验证?

编辑:似乎 GitHub 允许用户创建没有访问权限的 PAT,并且用户仍然可以进行身份​​验证。虽然问题略有不同,但发布这样的代币会有问题吗?

【问题讨论】:

【参考方案1】:

最好的方法是使用某种后端服务器来存储您的访问令牌并使用它来呈现数据。这样一来,您的令牌将保持安全,您无需将其暴露给其他人,但您仍然可以获取数据(并缓存它)以呈现给用户。

使用静态网站无法安全地做到这一点。

发布任何类型的令牌,即使是没有特权的令牌,仍然会暴露令牌被盗。这将计入您的速率限制,如果它用于发出导致 DoS 的昂贵请求,那么您的帐户将对此负责。

【讨论】:

感谢 bk2204 的回答。不幸的是,该网站纯粹是前端。有人确实建议创建一个只有“public_repo”访问权限的令牌并发布它。尽管似乎是一个很好的答案,但用户似乎已将其删除。我编辑了我的问题以包含一个略有不同的问题。 我已经解释了为什么这是不安全的。如前所述,如果您的网站只是前端,那么就没有安全的方法来做您想做的事。作为此类站点的一部分发布的任何类型的机密都将是安全问题。

以上是关于公开使用 GitHub 访问令牌的主要内容,如果未能解决你的问题,请参考以下文章

如何通过命令行更新 GitHub 访问令牌

Github Actions生成 secrets

我从哪里获得公钥来验证 GitHub 的访问令牌?

使用 Bash 脚本中的个人访问令牌访问 Github 上的组织存储库

VSTS - 通过个人访问令牌从GitHub获取源代码

markdown [为github创建私人访问令牌] #github