修改微信登录 bug

This commit is contained in:
2025-06-11 17:31:17 +08:00
parent 1e94848f8d
commit 3f5d0d7b2b
3 changed files with 12 additions and 3 deletions

View File

@ -5,6 +5,7 @@ import (
"crypto/sha1"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/glog"
"server/utility/wechat"
"sort"
"strings"
@ -17,15 +18,17 @@ func (c *ControllerV1) WeChatVertify(ctx context.Context, req *v1.WeChatVertifyR
// 1. 排序
params := []string{wechat.GetWeChatClient().GetToken(), req.Timestamp, req.Nonce}
sort.Strings(params)
glog.Infof(ctx, "排序后的参数: %s", params)
// 2. 拼接成字符串
str := strings.Join(params, "")
glog.Infof(ctx, "拼接后的字符串: %s", str)
// 3. SHA1 加密
h := sha1.New()
h.Write([]byte(str))
sha1Str := fmt.Sprintf("%x", h.Sum(nil))
glog.Infof(ctx, "SHA1 加密后的字符串: %s", sha1Str)
// 4. 比较签名
if sha1Str != req.Signature {
return nil, fmt.Errorf("签名错误")