在github工作流中插入gitalk的clienSecret
前言
美好的愿望:为Github page上的Hexo站点的 gitalk 设定非公开的ClientSecret。
Gitalk 可以为Hexo站点的post增加评论功能,评论自动推到github issue,挺方便的。
gitalk 的配置需要ClientSecret,如直接明文写在_config.yml文件中,**不妥!**。但是也没办法,参考Gitalk明文使用secret安全吗。
Github提供了Encrypted secrets功能,原以为能解决这个问题,但仍只能在静态文件上明文写出client secret,但起码主分支上看不到明文的secret了。
为gitalk注册一个OAth应用
登录你的Github账户
-
Application name: 随意
Homepage URL: Github page 的域名,如果时custom domin,就用它
Application description: 随意
Authorization callback URL: 同Homepage URL
Enable Device Flow: 不选
在OAuth apps点击进入你注册好的App, 如下创建secret。至此,你拿到了 ClientID 和 ClientSecret
创建仓库的Secret
配置Gitalk
进入你的hexo本地工程
编辑主题配置文件 _config.butterfly.yml (此处以hexo-theme-butterfly主题为例)
gitalk: |
详细设置请阅读 [gitalk][gitalk]*
为工作流添加环境变量
在你的workflow配置文件.github/workflows/deploy_pages.yml
中添加透传
# .github/workflows/deploy_pages.yml.yml |
Github Action 会把 环境变量中的 CLIENT_SECRET
明文地传入 _config.butterfly.yml
祝贺
把你的site push到github上,完成部署,等待Github Action完成,如果一切顺利,可以在post下方以Github账号留言了。
如果去看page 项目的部署分支,在静态页面文件下,你将会看到明文的secret,虽然不合理,但应该“问题不大”。