diff --git a/service/user_service.go b/service/user_service.go index 2de9b1f..465b3ce 100644 --- a/service/user_service.go +++ b/service/user_service.go @@ -7,6 +7,7 @@ import ( "go-user-service/models" userpb "go-user-service/proto/gen" "go-user-service/utils" + "log" "sync" "time" @@ -32,13 +33,14 @@ func (u *UserService) Login(ctx context.Context, req *userpb.LoginRequest) (*use if user.Username != "" { // 验证密码 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) - userId := Snowflake.NextID() + tokenId := Snowflake.NextID() db.Create(&models.UserToken{ - ID: int8(userId), + ID: tokenId, UserId: user.ID, Token: token, 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(), }) return &userpb.LoginResponse{ - UserId: userId, + UserId: user.ID, Username: user.Username, Email: user.Email, AccessToken: token, - ExpiresIn: 86400, // 1小时 + ExpiresIn: 86400, // 24小时 }, nil } return nil, status.Errorf(codes.Unauthenticated, "密码错误") @@ -78,12 +80,15 @@ func (u *UserService) Register(ctx context.Context, req *userpb.RegisterRequest) } userId := Snowflake.NextID() salt := crypto.GetRandString(10) + log.Println(req.Password + salt) hashPassword, _ := crypto.PasswordEncryption(req.Password + salt) db.Create(&models.User{ - ID: int8(userId), + ID: userId, Nickname: req.Nickname, Username: req.Username, Password: hashPassword, + Email: req.Email, + Phone: req.Phone, Status: 1, Salt: salt, CreatedAt: time.Now(),