The main server, and probably only repository in this org.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
487 B

package users
import (
"git.aiterp.net/lucifer/lucifer/models"
"golang.org/x/crypto/bcrypt"
)
// Login gets a user and compares the password. It does not open a session.
func Login(repo models.UserRepository, name, password string) (models.User, error) {
user, err := repo.FindUserByName(name)
if err != nil {
return models.User{}, err
}
err = bcrypt.CompareHashAndPassword(user.PassHash, []byte(password))
if err != nil {
return models.User{}, err
}
return user, nil
}