Browse Source

fix:token的生成,也要变更

Roc 11 months ago
parent
commit
c7fe2def3c
3 changed files with 54 additions and 39 deletions
  1. 9 9
      logic/xiangyu/auth.go
  2. 9 9
      models/eta/sys_third_session.go
  3. 36 21
      services/session.go

+ 9 - 9
logic/xiangyu/auth.go

@@ -50,15 +50,15 @@ func LoginEta(code string) (resp response.LoginResp, err error, errMsg string) {
 
 	// 记录两方session的绑定信息
 	thirdSession := &eta.SysThirdSession{
-		ID:                0,
-		SysUserID:         uint64(session.SysUserId),
-		UserName:          session.UserName,
-		AccessToken:       session.AccessToken,
-		ThirdAccessToken:  tokenResp.AccessToken,
-		ThirdRefreshToken: tokenResp.RefreshToken,
-		ThirdExpiredTime:  time.Now().Add(time.Duration(tokenResp.ExpiresIn) * time.Second),
-		CreatedTime:       time.Now(),
-		LastUpdatedTime:   time.Now(),
+		ID:               0,
+		SysUserID:        uint64(session.SysUserId),
+		UserName:         session.UserName,
+		AccessToken:      session.AccessToken,
+		ThirdAccessToken: tokenResp.AccessToken,
+		//ThirdRefreshToken: tokenResp.RefreshToken,
+		ThirdExpiredTime: time.Now().Add(time.Duration(tokenResp.ExpiresIn-100) * time.Second),
+		CreatedTime:      time.Now(),
+		LastUpdatedTime:  time.Now(),
 	}
 	eta.AddSysThirdSession(thirdSession)
 

+ 9 - 9
models/eta/sys_third_session.go

@@ -8,15 +8,15 @@ import (
 // SysThirdSession
 // @Description: 第三方登录会话session
 type SysThirdSession struct {
-	ID                uint64    `gorm:"primaryKey;column:id"`
-	SysUserID         uint64    `gorm:"column:sys_user_id"`
-	UserName          string    `gorm:"column:user_name"`
-	AccessToken       string    `gorm:"index:access_token;column:access_token"`
-	ThirdAccessToken  string    `gorm:"index:third_access_token;column:third_access_token"`
-	ThirdRefreshToken string    `gorm:"column:third_refresh_token"`
-	ThirdExpiredTime  time.Time `gorm:"column:third_expired_time"`
-	CreatedTime       time.Time `gorm:"index:created_time;column:created_time"`
-	LastUpdatedTime   time.Time `gorm:"index:last_updated_time;column:last_updated_time"`
+	ID               uint64 `gorm:"primaryKey;column:id"`
+	SysUserID        uint64 `gorm:"column:sys_user_id"`
+	UserName         string `gorm:"column:user_name"`
+	AccessToken      string `gorm:"index:access_token;column:access_token"`
+	ThirdAccessToken string `gorm:"index:third_access_token;column:third_access_token"`
+	//ThirdRefreshToken string    `gorm:"column:third_refresh_token"`
+	ThirdExpiredTime time.Time `gorm:"column:third_expired_time"`
+	CreatedTime      time.Time `gorm:"index:created_time;column:created_time"`
+	LastUpdatedTime  time.Time `gorm:"index:last_updated_time;column:last_updated_time"`
 }
 
 func (m *SysThirdSession) TableName() string {

+ 36 - 21
services/session.go

@@ -22,30 +22,45 @@ func CreateEtaSession(sysUser *eta.Admin) (login response.LoginResp, session *et
 
 	var token string
 	account := utils.MD5(sysUser.AdminName)
-	// 获取用户未过期的session, 避免过于频繁生成token
-	expired := time.Now().AddDate(0, 0, 1).Format(utils.FormatDateTime)
-	session, _ = eta.GetUserUnexpiredSysSession(sysUser.AdminName, expired)
-	if session != nil && session.AccessToken != "" {
-		token = session.AccessToken
-	} else {
-		token = utils.GenToken(account)
-		session = new(eta.SysSession)
-		session.UserName = sysUser.AdminName
-		session.SysUserId = sysUser.AdminId
-		session.ExpiredTime = time.Now().AddDate(0, 0, 90)
-		session.IsRemember = 1
-		session.CreatedTime = time.Now()
-		session.LastUpdatedTime = time.Now()
-		session.AccessToken = token
-		if e := eta.AddSysSession(session); e != nil {
-			errMsg = "新增session失败, err: "
-			err = errors.New("新增session失败, err: " + e.Error())
-			return
-		}
+	//// 获取用户未过期的session, 避免过于频繁生成token
+	//expired := time.Now().AddDate(0, 0, 1).Format(utils.FormatDateTime)
+	//session, _ = eta.GetUserUnexpiredSysSession(sysUser.AdminName, expired)
+	//if session != nil && session.AccessToken != "" {
+	//	token = session.AccessToken
+	//} else {
+	//	token = utils.GenToken(account)
+	//	session = new(eta.SysSession)
+	//	session.UserName = sysUser.AdminName
+	//	session.SysUserId = sysUser.AdminId
+	//	session.ExpiredTime = time.Now().AddDate(0, 0, 90)
+	//	session.IsRemember = 1
+	//	session.CreatedTime = time.Now()
+	//	session.LastUpdatedTime = time.Now()
+	//	session.AccessToken = token
+	//	if e := eta.AddSysSession(session); e != nil {
+	//		errMsg = "新增session失败, err: "
+	//		err = errors.New("新增session失败, err: " + e.Error())
+	//		return
+	//	}
+	//}
+
+	token = utils.GenToken(account)
+	session = new(eta.SysSession)
+	session.UserName = sysUser.AdminName
+	session.SysUserId = sysUser.AdminId
+	session.ExpiredTime = time.Now().AddDate(0, 0, 90)
+	session.IsRemember = 1
+	session.CreatedTime = time.Now()
+	session.LastUpdatedTime = time.Now()
+	session.AccessToken = token
+	if e := eta.AddSysSession(session); e != nil {
+		errMsg = "新增session失败, err: "
+		err = errors.New("新增session失败, err: " + e.Error())
+		return
 	}
 
 	login.Authorization = token
-	login.Authorization = "authorization=" + token + "$account=" + account
+	login.Authorization = "authorization=" + token
 	login.RealName = sysUser.RealName
 	login.AdminId = sysUser.AdminId
 	login.AdminName = sysUser.AdminName