netadm/authentication/strategy.py

29 lines
696 B
Python

from typing import (
TYPE_CHECKING,
Annotated,
)
from fastapi import Depends
from fastapi_users.authentication.strategy.db import (
DatabaseStrategy,
)
from config import settings
from authentication.dependencies import get_access_tokens_db
if TYPE_CHECKING:
from models import AccessToken
from fastapi_users.authentication.strategy.db import AccessTokenDatabase
def get_database_strategy(
access_tokens_db: Annotated[
"AccessTokenDatabase[AccessToken]",
Depends(get_access_tokens_db),
],
) -> DatabaseStrategy:
return DatabaseStrategy(
database=access_tokens_db,
lifetime_seconds=settings.access_token.lifetime_seconds,
)