generated from VLADIMIR/template
fix
This commit is contained in:
@@ -98,7 +98,7 @@ func (s *UsersService) AddUser(
|
||||
return ErrTermsNotAccepted
|
||||
}
|
||||
|
||||
email = normalizeEmail(email)
|
||||
email = strings.TrimSpace(email)
|
||||
if err := validateEmail(email); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -182,7 +182,7 @@ func (s *UsersService) RefreshPassword(
|
||||
ctx context.Context,
|
||||
email string,
|
||||
) error {
|
||||
email = normalizeEmail(email)
|
||||
email = strings.TrimSpace(email)
|
||||
if err := validateEmail(email); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -222,12 +222,6 @@ func (s *UsersService) RefreshPassword(
|
||||
return s.usersRepo.UpdateUserPassword(ctx, user.Email, string(hashedPassword))
|
||||
}
|
||||
|
||||
// normalizeEmail приводит адрес к каноническому виду (без пробелов, нижний
|
||||
// регистр): "User@Example.COM " и "user@example.com" — один аккаунт.
|
||||
func normalizeEmail(email string) string {
|
||||
return strings.ToLower(strings.TrimSpace(email))
|
||||
}
|
||||
|
||||
// validateEmail проверяет, что строка является одиночным email-адресом.
|
||||
func validateEmail(email string) error {
|
||||
if email == "" {
|
||||
@@ -249,11 +243,10 @@ func (s *UsersService) Login(
|
||||
email string,
|
||||
password string,
|
||||
) (string, string, error) {
|
||||
// Email нормализуется так же, как при регистрации: иначе пользователь,
|
||||
// зарегистрировавшийся как user@example.com, не войдёт с User@Example.COM.
|
||||
// Сохраняем регистр email, как при регистрации; убираем только внешние пробелы.
|
||||
user, err := s.usersRepo.GetUserByEmail(
|
||||
ctx,
|
||||
normalizeEmail(email),
|
||||
strings.TrimSpace(email),
|
||||
)
|
||||
if err != nil {
|
||||
return "", "", err
|
||||
|
||||
Reference in New Issue
Block a user