feat: refactor auth package and add get users for staff

This commit is contained in:
ericprd
2025-03-07 17:39:26 +08:00
parent c48a4b944b
commit fdf572cd3d
29 changed files with 203 additions and 78 deletions
+13 -4
View File
@@ -34,10 +34,10 @@ type ClaimOption func(options jwt.MapClaims)
func GenerateToken(data authdomain.AuthToken) (string, error) {
now := timeutils.Now()
claims := jwt.MapClaims{
"email": data.Email,
"role": data.Role,
"session_id": data.SessionID,
"exp": now.Add(time.Minute * time.Duration(config.REDIS_TIMEOUT)).Unix(),
string(jwtclaimenum.EMAIL): data.Email,
string(jwtclaimenum.ROLE): data.Role,
string(jwtclaimenum.SESSION_ID): data.SessionID,
string(jwtclaimenum.EXPIRED_AT): now.Add(time.Minute * time.Duration(config.REDIS_TIMEOUT)).Unix(),
}
token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
@@ -79,10 +79,19 @@ func DestructToken(s string) (authdomain.AuthToken, error) {
}
sessionId, ok := claims[string(jwtclaimenum.SESSION_ID)].(string)
if !ok {
return data, errors.New("invalid session_id")
}
role, ok := claims[string(jwtclaimenum.ROLE)].(string)
if !ok {
return data, errors.New("invalid role")
}
data = authdomain.AuthToken{
Email: email,
SessionID: sessionId,
Role: role,
}
return data, nil