Add authentication and user profile endpoint

Argon2 password hashing, JWT session issuing/verification
(auth/security.py), register/login routes, the bearer-token
get_current_user dependency, and GET /users/me for address + balance.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 10:25:49 +02:00
co-authored by Claude Sonnet 5
parent a21e058cdd
commit 107e592704
6 changed files with 157 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
from fastapi import APIRouter, Depends
from pydantic import BaseModel
from app.auth.dependencies import get_current_user
from app.db.models import User
router = APIRouter(prefix="/users", tags=["users"])
class MeResponse(BaseModel):
username: str
address: str
balance_sats: int
@router.get("/me", response_model=MeResponse)
async def me(user: User = Depends(get_current_user)) -> MeResponse:
return MeResponse(username=user.username, address=user.address, balance_sats=user.cached_balance_sats)