vue.js 如何从github提交Personal Access Token

m4pnthwp  于 7个月前  发布在  Vue.js
关注(0)|答案(2)|浏览(71)

我做了一个使用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创建这个应用程序

6vl6ewon

6vl6ewon1#

千万不要在任何开放平台上发布它们!有很多安全的选择,例如将token存储在一个被git忽略的文件中(但之后你必须确保手动将这个文件放在仓库的每个克隆中)。或者你可以在操作系统中使用token设置一个环境变量。
对于你目前的情况,你最好生成一个新的token并且永远不要共享它。或者一个不太安全的选择是使用一些外部工具来覆盖git历史记录,这样你就可以从旧的提交中清除包含token的文件(但是互联网永远不会忘记,它并不保证没有人已经偷了你的token)。An article关于如何删除泄露到GitHub的东西

wnrlj8wa

wnrlj8wa2#

回答:在你的token中添加一些随机的特殊字符,比如:
原始令牌:

github_token-1234567

字符串
变更为:

github_token-123?4?5?6?7 // Add some "?"


然后在你的代码中,你只需要删除你添加的字符:

const encodedToken = 'github_token-123?4?5?6?7'
const decodedToken = token.replaceAll('?', '')

console.log(decodedToken) // here you have your token, just use as you want.


免责声明:如果你没有授予任何敏感的权限,让你的个人访问令牌公开是没有问题的。
我不得不为一个简单的演示应用程序设置一个github-pages,使用我的Github UB token,每次github检测到token时,我就想出了这个解决方案。
一个更优雅的解决方案是将令牌编码为base64,然后解码,但目前github似乎正在检测base64编码的令牌。

相关问题