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.

102 lines
2.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package AuthService
import (
"dsDataex/MyService/Auth/AuthDAO"
"dsDataex/Utils/MD5Util"
"time"
)
/**
* @Author zhangjun
* @Description
* @Date 2020-06-12 10:28
* @Param systemId string 接入系统code
* @Param systemToken string 系统验证Token
* @Param authTime string 系统验证时间
* @return bool 成功/失败
* @return string 结果说明
* @return string 系统票据
**/
func CreateToken(systemID string,systemToken string,authTime string) (bool, string, string){
success,result,data,_:= AuthDAO.GetbyCode(systemID)
if success==false{
return false,result,""
}else {
systemKey:= data["secret_key"].(string)
appId:= data["app_id"].(string)
if systemToken==MD5Util.MD5V1(MD5Util.MD5V1(systemID + authTime) + systemKey){
nowTime := time.Now()
authToken := "DSDataex_Token_"+MD5Util.MD5V1(systemID + nowTime.Format("2006-01-02 15:04:05") + systemKey)
AuthDAO.Update(appId,authToken)
return true,"接入系统Token验证成功",authToken
}else {
return false,"接入系统Token验证失败请确认Token生成策略是否正确",""
}
}
return true,"",""
}
/**
* @Author zhangjun
* @Description
* @Date 2020-06-12 10:30
* @Param systemid string 接入系统code
* @Param authToken string 系统票据
* @return bool 成功/失败
* @return string 结果说明
**/
func CheckToken(systemID string,authToken string) (bool, string,string){
success,result,data,_:= AuthDAO.GetbyCode(systemID)
if success==false{
return false,result,""
}else {
myToken:= data["app_token"].(string)
if myToken==authToken{
return true,"接入系统票据验证成功",data["id"].(string)
}else {
return false,"接入系统票据验证失败",""
}
}
}
func CheckAccessToken(systemID string,accessTime string,accessToken string) (bool, string,string){
success,result,data,_:= AuthDAO.GetbyCode(systemID)
if success==false{
return false,result,""
}else {
if data["app_token"] != nil {
myToken:= data["app_token"].(string)
var testToken=MD5Util.MD5V1(systemID + accessTime + myToken)
if testToken==accessToken{
return true,"接入系统票据验证成功",data["app_id"].(string)
}else {
return false,"接入系统票据验证失败",""
}
} else {
return false,"接入系统票据验证失败",""
}
}
}