package services import ( "errors" "gitea.zjmud.xyz/phyer/rbac/models" "gitea.zjmud.xyz/phyer/rbac/repositories" "gitea.zjmud.xyz/phyer/rbac/utils" "golang.org/x/crypto/bcrypt" ) func Login(username, password string) (string, error) { user, err := repositories.GetUserByUsername(username) if err != nil { return "", errors.New("invalid credentials") } err = bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(password)) if err != nil { return "", errors.New("invalid credentials") } token, err := utils.GenerateJWT(user.ID) if err != nil { return "", err } return token, nil }