add Refresh
This commit is contained in:
+2
-1
@@ -34,7 +34,8 @@ func GetConfigString(key string) string {
|
||||
}
|
||||
func GetConfigInt(key string) int {
|
||||
data := make(map[string]int)
|
||||
data["base.login_out_time"] = 60 * 24 * 30 //分
|
||||
data["base.login_out_time"] = 60 * 24 * 30 //分
|
||||
data["base.login_refresh_out_time"] = 60 * 24 * 30 * 2 //分
|
||||
return data[key]
|
||||
}
|
||||
func GetConfigInt64(key string) int64 { return runViper.GetInt64(key) }
|
||||
|
||||
@@ -16,17 +16,19 @@ type UserInfo struct {
|
||||
Valid bool
|
||||
}
|
||||
|
||||
// GetUserFromCtx 从rpc metadata获取用户
|
||||
func GetUserFromCtx(ctx context.Context) UserInfo {
|
||||
md, ok := metadata.FromIncomingContext(ctx)
|
||||
if !ok {
|
||||
return UserInfo{Valid: false}
|
||||
}
|
||||
|
||||
uidList := md.Get("x-user-id")
|
||||
nameList := md.Get("x-user-name")
|
||||
refreshList := md.Get("x-refresh")
|
||||
|
||||
if len(refreshList) == 0 {
|
||||
refreshList = md.Get("X-Refresh")
|
||||
}
|
||||
|
||||
rawUID := ""
|
||||
encodeName := ""
|
||||
refresh := ""
|
||||
@@ -41,7 +43,7 @@ func GetUserFromCtx(ctx context.Context) UserInfo {
|
||||
}
|
||||
|
||||
if rawUID == "" {
|
||||
return UserInfo{Valid: false}
|
||||
return UserInfo{Valid: false, Refresh: refresh}
|
||||
}
|
||||
|
||||
uid, err := strconv.ParseInt(rawUID, 10, 64)
|
||||
@@ -54,7 +56,6 @@ func GetUserFromCtx(ctx context.Context) UserInfo {
|
||||
}
|
||||
}
|
||||
|
||||
// 解码中文
|
||||
userName, _ := url.QueryUnescape(encodeName)
|
||||
|
||||
return UserInfo{
|
||||
|
||||
+17
-6
@@ -7,6 +7,12 @@ type Status struct {
|
||||
Msg string `json:"message"`
|
||||
}
|
||||
|
||||
type LoginRedis struct {
|
||||
Info interface{} `json:"info"`
|
||||
Token string `json:"token"`
|
||||
Refresh string `json:"refresh"`
|
||||
}
|
||||
|
||||
const (
|
||||
NumberMinusOne = -1
|
||||
NumberZero = 0
|
||||
@@ -45,10 +51,11 @@ const (
|
||||
const (
|
||||
// LoginUser 所有的登录 加上服务名:id
|
||||
// %s 为,admin,user ,...
|
||||
Login = "login:service:%s:"
|
||||
LoginKey = "login:service:%s:keys"
|
||||
LoginTypeAdmin = "admin"
|
||||
LoginTypeUser = "user"
|
||||
Login = "login:service:%s:"
|
||||
LoginKey = "login:service:%s:token:"
|
||||
LoginRefreshKey = "login:service:%s:refresh:"
|
||||
LoginTypeAdmin = "admin"
|
||||
LoginTypeUser = "user"
|
||||
|
||||
CodeKey = "code:"
|
||||
)
|
||||
@@ -107,6 +114,10 @@ func GetLoginKey(Type, key string) string {
|
||||
return fmt.Sprintf(Login, Type) + key
|
||||
}
|
||||
|
||||
func GetLoginKeysKey(Type string) string {
|
||||
return fmt.Sprintf(LoginKey, Type)
|
||||
func GetLoginKeysKey(Type string, key string) string {
|
||||
return fmt.Sprintf(LoginKey, Type) + key
|
||||
}
|
||||
|
||||
func GetLoginRefreshKey(Type string, key string) string {
|
||||
return fmt.Sprintf(LoginRefreshKey, Type) + key
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user