修改部分用户操作

This commit is contained in:
zyj
2025-09-12 18:25:06 +08:00
parent 46fc102608
commit b56f0a5893

View File

@@ -7,6 +7,7 @@ import (
"go-user-service/models" "go-user-service/models"
userpb "go-user-service/proto/gen" userpb "go-user-service/proto/gen"
"go-user-service/utils" "go-user-service/utils"
"log"
"sync" "sync"
"time" "time"
@@ -32,13 +33,14 @@ func (u *UserService) Login(ctx context.Context, req *userpb.LoginRequest) (*use
if user.Username != "" { if user.Username != "" {
// 验证密码 // 验证密码
var crypto utils.Crypto var crypto utils.Crypto
hashPassword, _ := crypto.PasswordEncryption(user.Password + user.Salt) log.Println(req.Password + user.Salt)
verify := crypto.PasswordVerify(user.Password, req.Password+user.Salt)
if user.Password == hashPassword { if verify {
token, _ := crypto.GenerateStateToken(32) token, _ := crypto.GenerateStateToken(32)
userId := Snowflake.NextID() tokenId := Snowflake.NextID()
db.Create(&models.UserToken{ db.Create(&models.UserToken{
ID: int8(userId), ID: tokenId,
UserId: user.ID, UserId: user.ID,
Token: token, Token: token,
ExpirationTime: time.Now().Add(24 * time.Hour), ExpirationTime: time.Now().Add(24 * time.Hour),
@@ -46,11 +48,11 @@ func (u *UserService) Login(ctx context.Context, req *userpb.LoginRequest) (*use
UpdatedAt: time.Now(), UpdatedAt: time.Now(),
}) })
return &userpb.LoginResponse{ return &userpb.LoginResponse{
UserId: userId, UserId: user.ID,
Username: user.Username, Username: user.Username,
Email: user.Email, Email: user.Email,
AccessToken: token, AccessToken: token,
ExpiresIn: 86400, // 1小时 ExpiresIn: 86400, // 24小时
}, nil }, nil
} }
return nil, status.Errorf(codes.Unauthenticated, "密码错误") return nil, status.Errorf(codes.Unauthenticated, "密码错误")
@@ -78,12 +80,15 @@ func (u *UserService) Register(ctx context.Context, req *userpb.RegisterRequest)
} }
userId := Snowflake.NextID() userId := Snowflake.NextID()
salt := crypto.GetRandString(10) salt := crypto.GetRandString(10)
log.Println(req.Password + salt)
hashPassword, _ := crypto.PasswordEncryption(req.Password + salt) hashPassword, _ := crypto.PasswordEncryption(req.Password + salt)
db.Create(&models.User{ db.Create(&models.User{
ID: int8(userId), ID: userId,
Nickname: req.Nickname, Nickname: req.Nickname,
Username: req.Username, Username: req.Username,
Password: hashPassword, Password: hashPassword,
Email: req.Email,
Phone: req.Phone,
Status: 1, Status: 1,
Salt: salt, Salt: salt,
CreatedAt: time.Now(), CreatedAt: time.Now(),