Add token generation

This commit is contained in:
2024-11-22 19:23:14 +01:00
parent 4216bfb54b
commit fa7f8caaee
4 changed files with 21 additions and 1 deletions

View File

@@ -4,12 +4,15 @@ from core.mongo import mongo_manager
from core.redis import redis_manager
from core.broker import broker
from .auth.authx import auth
from .views import routes
def get_app() -> FastAPI:
app = FastAPI()
auth.handle_errors(app)
for route in routes:
app.include_router(route)

View File

@@ -0,0 +1,12 @@
from authx import AuthX, AuthXConfig
from core.config import config
config = AuthXConfig(
JWT_ALGORITHM = "HS256",
JWT_SECRET_KEY = config.SECRET_KEY,
JWT_TOKEN_LOCATION = ["headers"],
)
auth = AuthX(config=config)

View File

@@ -5,6 +5,7 @@ from domain.users import CreateUser
from modules.web_app.services.oauth.process_callback import process_callback
from modules.web_app.services.oauth.authorization_url_getter import get_authorization_url as gen_auth_link
from modules.web_app.serializers.auth import GetAuthorizationUrlResponse
from modules.web_app.auth.authx import auth
from repositories.users import UserRepository
@@ -29,4 +30,6 @@ async def callback(provider: OAuthProvider, code: str):
)
)
return {"user": user.model_dump()}
token = auth.create_access_token(uid=user.id, data={"is_admin": user.is_admin})
return {"token": token}