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.
49 lines
1.5 KiB
49 lines
1.5 KiB
package authentication
|
|
|
|
import (
|
|
"appPlatform/middleware/grocerystore"
|
|
"appPlatform/overall"
|
|
"appPlatform/overall/publicmethod"
|
|
"fmt"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// 验证身份
|
|
func (a *ApiMethod) SignCode(c *gin.Context) {
|
|
userKey := c.Request.Header.Get("user-key")
|
|
userToken := c.Request.Header.Get("user-token")
|
|
if userKey == "" || userToken == "" {
|
|
publicmethod.Result(1, userKey, c, "验证失败!未知识别符!")
|
|
return
|
|
}
|
|
var requestData SignCodeStr
|
|
err := c.ShouldBindJSON(&requestData)
|
|
if err != nil {
|
|
publicmethod.Result(100, err, c)
|
|
return
|
|
}
|
|
if requestData.Code == "" {
|
|
publicmethod.Result(1, err, c, "验证失败!未知识别符!")
|
|
return
|
|
}
|
|
redisFileKey := fmt.Sprintf("ScanCode:Aut:IdentRec_%v_%v", overall.CONSTANT_CONFIG.RedisPrefixStr.Alias, requestData.Code)
|
|
redisClient := grocerystore.RunRedis(overall.CONSTANT_REDIS4)
|
|
userRedisToken, isTrue := redisClient.HashGetAll(redisFileKey)
|
|
if !isTrue {
|
|
publicmethod.Result(1, userRedisToken, c, "验证失败!不是授权用户!1")
|
|
return
|
|
}
|
|
// sf := publicmethod.MapOut[string]()
|
|
if userToken != userRedisToken["usertoken"] || userKey != userRedisToken["userkey"] {
|
|
// sf["userToken"] = userToken
|
|
// sf["userToken_es"] = userRedisToken["usertoken"]
|
|
// sf["userKey"] = userKey
|
|
// sf["userkey_es"] = userRedisToken["userkey"]
|
|
// publicmethod.Result(1, sf, c, "验证失败!不是授权用户!2")
|
|
publicmethod.Result(1, err, c, "验证失败!不是授权用户!2")
|
|
return
|
|
}
|
|
redisClient.DelKey(redisFileKey)
|
|
publicmethod.Result(0, err, c)
|
|
}
|
|
|