gin框架:微信公众号-服务器配置(token验证)
1.导入包
import (
"github.com/gin-gonic/gin"
"net/http"
)
2.设置路由。
// 处理微信公众号校验服务器地址
r.GET("/wechat/verify", verifyHandler)
// 处理微信公众号消息接收地址
r.POST("/wechat/receive", receiveHandler)
3.需要根据微信公众号开发文档提供的规则进行签名校验,并返回echostr给微信服务器。
func verifyHandler(c *gin.Context) {
token := "your_wechat_token" // 替换成你自己的token
signature := c.Query("signature")
timestamp := c.Query("timestamp")
nonce := c.Query("nonce")
echostr := c.Query("echostr")
if checkSignature(token, signature, timestamp, nonce) {
c.String(http.StatusOK, echostr)
} else {
c.String(http.StatusBadRequest, "Invalid request")
}
}
func checkSignature(token, signature, timestamp, nonce string) bool {
// 根据微信公众号开发文档提供的规则进行签名校验
// 返回 true 或 false
return true // 在这里替换成你的签名校验逻辑
}
4.处理微信公众号消息接收地址的请求。
func receiveHandler(c *gin.Context) {
// 解析微信服务器发送的消息
// 处理业务逻辑
c.String(http.StatusOK, "Success")
}