Skip to content

Commit 6de72ad

Browse files
committed
Use email_address table to check user's email when login with email adress
1 parent 616146f commit 6de72ad

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

services/auth/signin.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,18 @@ import (
2424
func UserSignIn(username, password string) (*user_model.User, *auth.Source, error) {
2525
var user *user_model.User
2626
if strings.Contains(username, "@") {
27-
user = &user_model.User{Email: strings.ToLower(strings.TrimSpace(username))}
27+
emailAddress := user_model.EmailAddress{Email: strings.ToLower(strings.TrimSpace(username))}
2828
// check same email
29-
cnt, err := db.Count(user)
29+
has, err := db.GetEngine(db.DefaultContext).Where("is_activated=?", true).Get(&emailAddress)
3030
if err != nil {
3131
return nil, nil, err
3232
}
33-
if cnt > 1 {
34-
return nil, nil, user_model.ErrEmailAlreadyUsed{
33+
if !has {
34+
return nil, nil, user_model.ErrEmailAddressNotExist{
3535
Email: user.Email,
3636
}
3737
}
38+
user = &user_model.User{ID: emailAddress.UID}
3839
} else {
3940
trimmedUsername := strings.TrimSpace(username)
4041
if len(trimmedUsername) == 0 {

0 commit comments

Comments
 (0)