from authx import AuthX, AuthXConfig from core.config import settings config = AuthXConfig( JWT_SECRET_KEY=settings.SECRET_KEY, JWT_ALGORITHM=settings.ALGORITHM, JWT_TOKEN_LOCATION=["cookies"], # access JWT_ACCESS_TOKEN_EXPIRES=settings.ACCESS_TOKEN_EXPIRE_MINUTES * 60, JWT_ACCESS_COOKIE_NAME="access_token", JWT_ACCESS_COOKIE_PATH="/", JWT_ACCESS_CSRF_HEADER_NAME="X-CSRF-Token", JWT_ACCESS_CSRF_COOKIE_NAME="csrf_access_token", JWT_ACCESS_CSRF_COOKIE_PATH="/", # refresh JWT_REFRESH_TOKEN_EXPIRES=settings.REFRESH_TOKEN_EXPIRE_DAYS * 24 * 60 * 60, JWT_REFRESH_COOKIE_NAME="refresh_token", JWT_REFRESH_COOKIE_PATH="/auth/refresh", JWT_REFRESH_CSRF_HEADER_NAME="X-CSRF-Token", JWT_REFRESH_CSRF_COOKIE_NAME="csrf_refresh_token", JWT_REFRESH_CSRF_COOKIE_PATH="/auth/refresh", # cookies JWT_COOKIE_SECURE=settings.COOKIE_SECURE, JWT_COOKIE_SAMESITE="lax", JWT_COOKIE_HTTP_ONLY=True, # CSRF JWT_COOKIE_CSRF_PROTECT=True, JWT_CSRF_IN_COOKIES=True, JWT_CSRF_METHODS=["POST", "PUT", "PATCH", "DELETE"], ) auth = AuthX(config=config)