|
@@ -45,15 +45,21 @@ func (l *CheckTokenLogic) CheckToken(req *types.CheckTokenReq) (resp *types.Chec
|
|
|
if tokenItem == nil {
|
|
|
valid = false
|
|
|
} else if tokenItem.ExpireAt.Unix() > timestamp {
|
|
|
- valid = true
|
|
|
- if tokenItem.MAC == "" {
|
|
|
+ if tokenItem.MAC == "" {
|
|
|
+ valid = true
|
|
|
err = l.svcCtx.DB.Token.UpdateOneID(tokenItem.ID).SetNotNilMAC(req.Mac).Exec(l.ctx)
|
|
|
if err != nil {
|
|
|
return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
|
|
|
}
|
|
|
+ } else if tokenItem.MAC != *req.Mac {
|
|
|
+ valid = false
|
|
|
+ } else {
|
|
|
+ valid = true
|
|
|
}
|
|
|
|
|
|
- sign = generateSign(*req.Token, *req.Mac, strconv.Itoa(int(timestamp)))
|
|
|
+ if valid {
|
|
|
+ sign = generateSign(*req.Token, *req.Mac, strconv.Itoa(int(timestamp)))
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return &types.CheckTokenResp{
|