37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
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) |