|
@@ -59,35 +59,5 @@ type HwUserInfo struct {
|
|
OpenId string `json:"openid"`
|
|
OpenId string `json:"openid"`
|
|
UnionId string `json:"unionid"`
|
|
UnionId string `json:"unionid"`
|
|
Phone string `json:"phone"`
|
|
Phone string `json:"phone"`
|
|
- Sign string `json:"sign"`
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-func GetMsgFromHwSign(sign string) (info *HwUserInfo, err error) {
|
|
|
|
- info = &HwUserInfo{}
|
|
|
|
- if sign == "" {
|
|
|
|
- err = fmt.Errorf("获取信息异常,参数为空")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- b, decodeErr := base64.StdEncoding.DecodeString(strings.Replace(sign, " ", "+", -1))
|
|
|
|
- if decodeErr != nil {
|
|
|
|
- err = fmt.Errorf("获取信息异常,解密失败")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- UnmarshalErr := json.Unmarshal(b, &info)
|
|
|
|
- if UnmarshalErr != nil {
|
|
|
|
- err = fmt.Errorf("获取信息异常,格式异常")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- //做比对,防篡改
|
|
|
|
- checkSign := qutil.GetMd5String(fmt.Sprintf("createtime=%d&headimgurl=%s&nickname=%s&openid=%s&unionid=%s&phone=%s",
|
|
|
|
- info.CreateTime, info.HeadImageUrl, info.Nickname, info.OpenId, info.UnionId, info.Phone))
|
|
|
|
- if info.Sign != checkSign {
|
|
|
|
- err = fmt.Errorf("获取信息异常,校验错误")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- if info.OpenId == "" {
|
|
|
|
- err = fmt.Errorf("获取信息异常,openid为空")
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- return
|
|
|
|
|
|
+ AccessToken string `json:"accessToken"`
|
|
}
|
|
}
|