我做了一个使用github的graphQL API的测试应用程序。为了使用这个API,个人访问令牌已经被放置在代码中。现在每当我提交带有令牌的代码时,我都会收到来自github的电子邮件,标题是:“Action needed:GitHub access token found in commit,any app using this secret may be affected”。
我应该如何在我的代码中提交个人访问令牌?或者我应该永远不要在代码中提交这样的令牌?如果不是,那么我应该在哪里保存这些令牌?这样我就可以在调用grapQL API时访问这些令牌。
PS:我只使用Vue3创建这个应用程序
2条答案
按热度按时间6vl6ewon1#
千万不要在任何开放平台上发布它们!有很多安全的选择,例如将token存储在一个被git忽略的文件中(但之后你必须确保手动将这个文件放在仓库的每个克隆中)。或者你可以在操作系统中使用token设置一个环境变量。
对于你目前的情况,你最好生成一个新的token并且永远不要共享它。或者一个不太安全的选择是使用一些外部工具来覆盖git历史记录,这样你就可以从旧的提交中清除包含token的文件(但是互联网永远不会忘记,它并不保证没有人已经偷了你的token)。An article关于如何删除泄露到GitHub的东西
wnrlj8wa2#
回答:在你的token中添加一些随机的特殊字符,比如:
原始令牌:
字符串
变更为:
型
然后在你的代码中,你只需要删除你添加的字符:
型
免责声明:如果你没有授予任何敏感的权限,让你的个人访问令牌公开是没有问题的。
我不得不为一个简单的演示应用程序设置一个github-pages,使用我的Github UB token,每次github检测到token时,我就想出了这个解决方案。
一个更优雅的解决方案是将令牌编码为base64,然后解码,但目前github似乎正在检测base64编码的令牌。