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")
}