修改Gitalk代理地址,解决无法登录问题

由于Gitalk配置proxy的默认地址https://cors-anywhere.azm.workers.dev/...被墙了,导致无法登录。

解决方案

首先编写后台接口,Python方式

import requests
import flask
from flask_cors import CORS

server = flask.Flask(__name__)

# 跨域访问问题
CORS(server, resources=r'/*')

# github auth
client_id = "你自己的"
client_secret = "你自己的"


# 接口返回格式 {"access_token":"gho_COSr3lUITUX9b2J7krsKjNlnlNSOBw2g0oZ1","token_type":"bearer","scope":"public_repo"}
@server.post('/get_access_token')
def get_access_token():
    url = 'https://github.com/login/oauth/access_token'
    params = {
        'client_id': client_id,
        'client_secret': client_secret,
        'code': flask.request.json['code']
    }
    headers = {
        'accept': 'application/json'
    }
    result = requests.post(url=url, params=params, headers=headers, verify=False)
    # 存储access_token
    # ..暂时不需要
    return result.json()


if __name__ == '__main__':
    server.run(host='0.0.0.0', port=8011, debug=False)

Java方式

修改Gitalk配置中proxy地址,改为我们自己的接口去访问令牌,clientSecret配置写在后台同时也增加了安全性。

new Gitalk({
    // '''
    proxy: 'https://IP:PORT/get_access_token'
    //clientSecret: '', 此行配置可以去除了
    // '''
})
更新日期:
作者: qwding