Spaces:
Building
Building
from fastapi import APIRouter, Depends, HTTPException | |
from config_provider import get_config, ServiceConfig | |
from pydantic import BaseModel | |
import hashlib | |
router = APIRouter() | |
class LoginRequest(BaseModel): | |
username: str | |
password: str | |
def verify_password(stored_hash, input_password): | |
# Basit SHA256 hash kontrolü (salt + hash mekanizması uygulanabilir) | |
input_hash = hashlib.sha256(input_password.encode()).hexdigest() | |
return stored_hash == input_hash | |
def login(request: LoginRequest, config: ServiceConfig = Depends(get_config)): | |
user = next((u for u in config.data.get('users', []) if u['username'] == request.username), None) | |
if not user: | |
raise HTTPException(status_code=401, detail="Invalid username or password") | |
if not verify_password(user['password_hash'], request.password): | |
raise HTTPException(status_code=401, detail="Invalid username or password") | |
return { "status": "success" } | |