fixed login api
This commit is contained in:
@@ -83,6 +83,7 @@ func GetPasswordHash(db *sql.DB, username string) (string, error) {
|
|||||||
var passwordHash string
|
var passwordHash string
|
||||||
err := db.QueryRow(query, username).Scan(&passwordHash)
|
err := db.QueryRow(query, username).Scan(&passwordHash)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fmt.Printf("error getting password: %v\n", err)
|
||||||
return "", fmt.Errorf("error getting password: %v", err)
|
return "", fmt.Errorf("error getting password: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,13 +92,14 @@ func GetPasswordHash(db *sql.DB, username string) (string, error) {
|
|||||||
|
|
||||||
func GetUserId(db *sql.DB, username string) (string, error) {
|
func GetUserId(db *sql.DB, username string) (string, error) {
|
||||||
query := `
|
query := `
|
||||||
SELECT user_id, username AS dbUsername FROM Accounts
|
SELECT user_id FROM Accounts
|
||||||
WHERE LOWER(username) = $1;
|
WHERE LOWER(username) = $1;
|
||||||
`
|
`
|
||||||
|
|
||||||
var dbUsername string
|
var dbUsername string
|
||||||
err := db.QueryRow(query, username).Scan(&dbUsername, &dbUsername)
|
err := db.QueryRow(query, username).Scan(&dbUsername)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
fmt.Printf("Error getting password: %v\n", err)
|
||||||
return "", fmt.Errorf("error getting user id: %v", err)
|
return "", fmt.Errorf("error getting user id: %v", err)
|
||||||
}
|
}
|
||||||
return dbUsername, err
|
return dbUsername, err
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ func Signup(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Login(c *fiber.Ctx) error {
|
func Login(c *fiber.Ctx) error {
|
||||||
db, _ := database.InitDatabase()
|
db := database.DB
|
||||||
u := new(models.LoginStruct)
|
u := new(models.LoginStruct)
|
||||||
|
|
||||||
if err := c.BodyParser(u); err != nil {
|
if err := c.BodyParser(u); err != nil {
|
||||||
@@ -100,7 +100,7 @@ func Login(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Verifies password matching
|
// Verifies password matching
|
||||||
passwordHash, _ := database.GetPasswordHash(db, u.Password)
|
passwordHash, _ := database.GetPasswordHash(db, u.Username)
|
||||||
if bcrypt.CompareHashAndPassword([]byte(passwordHash), []byte(u.Password)) != nil {
|
if bcrypt.CompareHashAndPassword([]byte(passwordHash), []byte(u.Password)) != nil {
|
||||||
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{"error": "invalid password"})
|
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{"error": "invalid password"})
|
||||||
}
|
}
|
||||||
@@ -124,5 +124,5 @@ func Login(c *fiber.Ctx) error {
|
|||||||
cookie.Expires = time.Now().Add(30 * 24 * time.Hour)
|
cookie.Expires = time.Now().Add(30 * 24 * time.Hour)
|
||||||
cookie.HTTPOnly = true
|
cookie.HTTPOnly = true
|
||||||
|
|
||||||
return c.Status(fiber.StatusOK).JSON(fiber.Map{"message": "Successfully signed up", "username": u.Username, "user_id": userId})
|
return c.Status(fiber.StatusOK).JSON(fiber.Map{"message": "Successfully logged in", "username": u.Username, "user_id": userId})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user