Hugo 主题启用评论插件 gitment 后,一直报错:Erro: Bad credentials,查看了插件的安装和设置步骤都是无误的,网上也很多文章说到这个报错,但没看到有效的解决方案(可能不同的场景产生的报错)。

Gitment is a comment system based on GitHub Issues, which can be used in the frontend without any server-side implementation.

bad_credentials

有遇到同样的情况么?

打开控制台,可以看到两个请求返回 403 无权限的状态码。

http_403

评论插件是基于 github 的 API 提供服务,需通过 OAuth 2.0 授权码模式进行授权,前面的步骤:

  • 跳转到 github 登录授权页面
  • 认证服务器生成授权码跳转回页面都是正常的

而获取 access_token 这一步开始报 403 错误。奇怪的是这里 post 请求的是一个 herokuapp.com 的地址,于是在浏览器直接打开这个 url,如图:

gitment_cors

这个请求被限制了,有个按钮:Request temporary access to the demo server,于是点击解锁。再重新进行 Login 操作,一切都正常了。页面上有了这个初始化评论按钮,点击进行初始化,它将调用 github 的 API,在 issues 里创建评论。

gitment_initalize_comments

测试了一下,也可以正常发表评论了。