Awesome
微信公众号服务器
用以微信公众号的后端,提供登录验证功能
功能
- Access Token 自动刷新 & 提供外部访问接口
- 自定义菜单(需要你的公众号有这个权限)
- 登录验证
- 自定义回复
展示
部署
手动部署
- 从 GitHub Releases 下载可执行文件或者从源码编译:
git clone https://github.com/songquanpeng/wechat-server.git go mod download go build -ldflags "-s -w" -o wechat-server
- 运行:
chmod u+x wechat-server ./wechat-server --port 3000 --log-dir ./logs
- 访问 http://localhost:3000/ 并登录。初始账号用户名为
root
,密码为123456
。
更加详细的部署教程参见此处。
基于 Docker 进行部署
执行:docker run -d --restart always -p 3000:3000 -v /home/ubuntu/data/wechat-server:/data justsong/wechat-server
数据将会保存在宿主机的 /home/ubuntu/data/wechat-server
目录。
配置
- 从 GitHub Releases 下载可执行文件。
- 系统本身开箱即用,有一些环境变量可供配置:
REDIS_CONN_STRING
: 设置之后,将启用 Redis。- 例如:
REDIS_CONN_STRING=redis://default:redispw@localhost:49153
- 例如:
SESSION_SECRET
:设置之后,将使用给定会话密钥。- 例如:
SESSION_SECRET=random_string
- 例如:
SQL_DSN
: 设置之后,将使用目标数据库而非 SQLite。- 例如:
SQL_DSN=root:123456@tcp(localhost:3306)/gofile
- 例如:
- 运行:
chmod u+x wechat-server
./wechat-server --port 3000
- 初始账户用户名为
root
,密码为123456
,记得登录后立刻修改密码。 - 前往微信公众号配置页面 -> 设置与开发 -> 基本配置获取 AppID 和 AppSecret,并在我们的配置页面填入上述信息,另外还需要配置 IP 白名单,按照页面上的提示完成即可。
- 前往微信公众号配置页面 -> 设置与开发 -> 基本配置填写以下配置:
URL
填:https://<your.domain>/api/wechat
Token
首先在我们的配置页面随便填写一个 Token,然后在微信公众号的配置页面填入同一个 Token 即可。EncodingAESKey
点随机生成,然后在我们的配置页面填入该值。- 消息加解密方式选择明文模式。
- 之后保存设置并启用设置。
- 当前版本需要重启服务才能应用配置信息,因此请重启服务。
API
获取 Access Token
- 请求方法:
GET
- URL:
/api/wechat/access_token
- 无参数,但是需要设置 HTTP 头部:
Authorization: <token>
通过验证码查询用户 ID
- 请求方法:
GET
- URL:
/api/wechat/user?code=<code>
- 需要设置 HTTP 头部:
Authorization: <token>
注意
需要将 <token>
和 <code>
替换为实际的内容。