|
@@ -17,7 +17,6 @@ import (
|
|
|
"github.com/larksuite/oapi-sdk-go/v3/service/authen/v1"
|
|
|
"github.com/sirupsen/logrus"
|
|
|
"gorm.io/gorm"
|
|
|
- "strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
@@ -30,70 +29,70 @@ func (s *feishuService) FeiShuUserLogin(c *gin.Context) serializer.Response {
|
|
|
|
|
|
q := query.Use(config.AdminDB).AdminUser
|
|
|
|
|
|
- encodeToken := token.GetAuthorization(c)
|
|
|
- if encodeToken != "" {
|
|
|
- bytesT, err := base64.URLEncoding.DecodeString(encodeToken)
|
|
|
- if err != nil {
|
|
|
- logrus.Warningf("middleware base64.URLEncoding.DecodeString:%+v", err.Error())
|
|
|
- return serializer.CheckLogin()
|
|
|
- }
|
|
|
- t := string(bytesT)
|
|
|
- tokenKey := config.GetTokenKey(t)
|
|
|
- if config.TokenRedis.Exists(tokenKey).Val() == 0 {
|
|
|
- return serializer.CheckLogin()
|
|
|
- }
|
|
|
- userStr := config.TokenRedis.Get(tokenKey).Val()
|
|
|
-
|
|
|
- claims := new(token.UserClaims)
|
|
|
- if err := jsoniter.UnmarshalFromString(userStr, claims); err != nil {
|
|
|
- return serializer.CheckLogin()
|
|
|
- }
|
|
|
-
|
|
|
- // 查询登录token是否有效
|
|
|
- key := config.GetUserTokenKey(claims.ID)
|
|
|
- tokenCTStr := config.TokenRedis.HGet(key, t).Val()
|
|
|
- tokenCreateTime, err := strconv.Atoi(tokenCTStr)
|
|
|
- if err != nil {
|
|
|
- logrus.Warningf("middleware config.LogRedis.HGet:%+v", err.Error())
|
|
|
- return serializer.CheckLogin()
|
|
|
- }
|
|
|
- tokenCT := time.Unix(int64(tokenCreateTime), 0)
|
|
|
-
|
|
|
- if tokenCT.Before(time.Now().Add(-config.TokenExpireTime)) {
|
|
|
- return serializer.CheckLogin()
|
|
|
- }
|
|
|
-
|
|
|
- u, err := q.Where(q.ID.Eq(claims.ID)).First()
|
|
|
- if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
|
|
- return serializer.Err(2, "", err)
|
|
|
- }
|
|
|
- if u.Status != 1 {
|
|
|
- return serializer.ParamErr("账号已被禁用", nil)
|
|
|
- }
|
|
|
- user := &token.UserClaims{
|
|
|
- ID: u.ID,
|
|
|
- UserName: u.UserName,
|
|
|
- RoleId: int64(u.RoleID),
|
|
|
- Avatar: u.Avatar,
|
|
|
- Nickname: u.Nickname,
|
|
|
- AccessToken: t,
|
|
|
- }
|
|
|
- userStr, _ = jsoniter.MarshalToString(user)
|
|
|
-
|
|
|
- config.TokenRedis.HSet(key, t, time.Now().Unix())
|
|
|
- config.TokenRedis.Expire(key, time.Hour*12)
|
|
|
-
|
|
|
- config.TokenRedis.Set(tokenKey, userStr, time.Hour*12)
|
|
|
-
|
|
|
- return serializer.Suc(forms.UserLoginRes{
|
|
|
- ID: u.ID,
|
|
|
- UserName: u.UserName,
|
|
|
- Nickname: u.Nickname,
|
|
|
- Status: u.Status,
|
|
|
- Avatar: u.Avatar,
|
|
|
- Token: encodeToken,
|
|
|
- })
|
|
|
- }
|
|
|
+ //encodeToken := token.GetAuthorization(c)
|
|
|
+ //if encodeToken != "" {
|
|
|
+ // bytesT, err := base64.URLEncoding.DecodeString(encodeToken)
|
|
|
+ // if err != nil {
|
|
|
+ // logrus.Warningf("middleware base64.URLEncoding.DecodeString:%+v", err.Error())
|
|
|
+ // return serializer.CheckLogin()
|
|
|
+ // }
|
|
|
+ // t := string(bytesT)
|
|
|
+ // tokenKey := config.GetTokenKey(t)
|
|
|
+ // if config.TokenRedis.Exists(tokenKey).Val() == 0 {
|
|
|
+ // return serializer.CheckLogin()
|
|
|
+ // }
|
|
|
+ // userStr := config.TokenRedis.Get(tokenKey).Val()
|
|
|
+ //
|
|
|
+ // claims := new(token.UserClaims)
|
|
|
+ // if err := jsoniter.UnmarshalFromString(userStr, claims); err != nil {
|
|
|
+ // return serializer.CheckLogin()
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // // 查询登录token是否有效
|
|
|
+ // key := config.GetUserTokenKey(claims.ID)
|
|
|
+ // tokenCTStr := config.TokenRedis.HGet(key, t).Val()
|
|
|
+ // tokenCreateTime, err := strconv.Atoi(tokenCTStr)
|
|
|
+ // if err != nil {
|
|
|
+ // logrus.Warningf("middleware config.LogRedis.HGet:%+v", err.Error())
|
|
|
+ // return serializer.CheckLogin()
|
|
|
+ // }
|
|
|
+ // tokenCT := time.Unix(int64(tokenCreateTime), 0)
|
|
|
+ //
|
|
|
+ // if tokenCT.Before(time.Now().Add(-config.TokenExpireTime)) {
|
|
|
+ // return serializer.CheckLogin()
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // u, err := q.Where(q.ID.Eq(claims.ID)).First()
|
|
|
+ // if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
|
|
|
+ // return serializer.Err(2, "", err)
|
|
|
+ // }
|
|
|
+ // if u.Status != 1 {
|
|
|
+ // return serializer.ParamErr("账号已被禁用", nil)
|
|
|
+ // }
|
|
|
+ // user := &token.UserClaims{
|
|
|
+ // ID: u.ID,
|
|
|
+ // UserName: u.UserName,
|
|
|
+ // RoleId: int64(u.RoleID),
|
|
|
+ // Avatar: u.Avatar,
|
|
|
+ // Nickname: u.Nickname,
|
|
|
+ // AccessToken: t,
|
|
|
+ // }
|
|
|
+ // userStr, _ = jsoniter.MarshalToString(user)
|
|
|
+ //
|
|
|
+ // config.TokenRedis.HSet(key, t, time.Now().Unix())
|
|
|
+ // config.TokenRedis.Expire(key, time.Hour*12)
|
|
|
+ //
|
|
|
+ // config.TokenRedis.Set(tokenKey, userStr, time.Hour*12)
|
|
|
+ //
|
|
|
+ // return serializer.Suc(forms.UserLoginRes{
|
|
|
+ // ID: u.ID,
|
|
|
+ // UserName: u.UserName,
|
|
|
+ // Nickname: u.Nickname,
|
|
|
+ // Status: u.Status,
|
|
|
+ // Avatar: u.Avatar,
|
|
|
+ // Token: encodeToken,
|
|
|
+ // })
|
|
|
+ //}
|
|
|
|
|
|
code := c.Query("code")
|
|
|
if code == "" {
|