Login now based on email
Build LinkLog Development Image / development-image (push) Successful in 10s
Build LinkLog Development Image / development-image (push) Successful in 10s
This commit is contained in:
@@ -21,7 +21,7 @@ init_db()
|
||||
|
||||
|
||||
class LoginRequest(BaseModel):
|
||||
username: str
|
||||
email: str
|
||||
password: str
|
||||
otp: str | None = None
|
||||
|
||||
@@ -33,9 +33,9 @@ class PasswordResetRequest(BaseModel):
|
||||
|
||||
@router.post('/login')
|
||||
def login(payload: LoginRequest):
|
||||
user = authenticate_user(payload.username, payload.password)
|
||||
user = authenticate_user(payload.email.strip(), payload.password)
|
||||
if user is None:
|
||||
reset_user = find_user(payload.username)
|
||||
reset_user = find_user(payload.email.strip())
|
||||
if reset_user and reset_user['email_verified'] and smtp_configured():
|
||||
try:
|
||||
token = create_reset_token(reset_user['id'])
|
||||
|
||||
@@ -5,9 +5,9 @@ from datetime import datetime, timezone
|
||||
from backend.app.database import get_connection, hash_password, verify_password
|
||||
|
||||
|
||||
def authenticate_user(username: str, password: str):
|
||||
def authenticate_user(email: str, password: str):
|
||||
with get_connection() as conn:
|
||||
row = conn.execute('SELECT * FROM users WHERE username = ?', (username,)).fetchone()
|
||||
row = conn.execute('SELECT * FROM users WHERE email = ?', (email,)).fetchone()
|
||||
if row is None or not verify_password(password, row['password_hash']):
|
||||
return None
|
||||
user = dict(row)
|
||||
@@ -23,7 +23,7 @@ def authenticate_user(username: str, password: str):
|
||||
return user
|
||||
|
||||
|
||||
def find_user(username: str):
|
||||
def find_user(email: str):
|
||||
with get_connection() as conn:
|
||||
row = conn.execute('SELECT * FROM users WHERE username = ?', (username,)).fetchone()
|
||||
row = conn.execute('SELECT * FROM users WHERE email = ?', (email,)).fetchone()
|
||||
return dict(row) if row else None
|
||||
|
||||
Reference in New Issue
Block a user