gitalk配置

 

前述

本篇主要是解决使用Gitalk插件时,登录授权报 403 的问题

问题描述

使用gitalk关联github application,借助github仓库的issue功能,可以简单的构建出githubpage的评论模块。

但是我在使用时,发现使用github登录会报很刺眼的403错误。

查找了一些文章和github的issue,发现是gitalk自身的问题:

gitalk为了解决github的跨域问题,使用了一个默认的反向代理https://cors-anywhere.herokuapp.com。但是这个代理不久前被受限了,因此导致了403的问题。

问题解决

知道了问题出在代理,更换代理自然是最快的解决办法。

这里根据参考的内容,采用了cloudfare创建了一个免费代理,每天支持10w次请求,对个人博客来说绰绰有余了。

注册完成后构建免费的worker,配置index时可以参考Zibri的repo,直接拷贝index.js覆盖即可。

覆盖之后记得修改whitelist列表,在里面添加自己的博客域名。在白名单内的域名,在代理过来时,会自动帮其加上跨域的header,解决cors问题。

经过上面的步骤,免费的代理已经创建完成了,接下来去修改gitalk的代理配置即可。

不管你用的是什么模板,都能找到创建gitalk对象的方法,修改这个方法即可:

var gitalk = new Gitalk({
    clientID: '2582cb23f7f06deac259',
    clientSecret: 'a330da565085986e41120682ed06f995adfbe956',
    repo: 'sasakiyori.github.io',
    owner: 'sasakiyori',
    admin: [],
    id: '2021-09-02-gitalk_authorization',
    // 新增proxy,前面的部分为你的代理
    proxy: 'https://xxx.dev/?https://github.com/login/oauth/access_token'
});

发布之后,就可以发现可以正常发表评论啦:

参考