You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
688 B
27 lines
688 B
package handle
|
|
|
|
import (
|
|
"WechatGateWay/global"
|
|
"log"
|
|
"net/http"
|
|
)
|
|
|
|
func handleVerify(w http.ResponseWriter, r *http.Request) {
|
|
msgSignature := r.URL.Query().Get("msg_signature")
|
|
timestamp := r.URL.Query().Get("timestamp")
|
|
nonce := r.URL.Query().Get("nonce")
|
|
echoStr := r.URL.Query().Get("echostr")
|
|
// 合法性验证
|
|
echoStrBytes, err := global.WxCrypt.VerifyURL(msgSignature, timestamp, nonce, echoStr)
|
|
if err != nil {
|
|
log.Println("验证失败", err.ErrMsg)
|
|
} else {
|
|
log.Println("验证成功", string(echoStrBytes))
|
|
// 需要返回才能通过验证
|
|
_, err := w.Write(echoStrBytes)
|
|
if err != nil {
|
|
log.Println("返回验证结果失败", err.Error())
|
|
}
|
|
}
|
|
}
|