FastApi
1from fastapi_users import FastAPIUsers
2from fastapi_users.authentication import (AuthenticationBackend,
3CookieTransport, JWTStrategy)
4
5from auth.manager import get_user_manager
6from auth.models import User
7from config import SECRET_AUTH
8
9cookie_transport = CookieTransport(cookie_name="bonds", cookie_max_age=3600)
10
11
12def get_jwt_strategy() -> JWTStrategy:
13return JWTStrategy(secret=SECRET_AUTH, lifetime_seconds=3600)
14
15
16auth_backend = AuthenticationBackend(
17name="jwt",
18transport=cookie_transport,
19get_strategy=get_jwt_strategy,
20)
21
22fastapi_users = FastAPIUsers[User, int](
23get_user_manager,
24[auth_backend],
25)
26
27current_user = fastapi_users.current_user()
28