18 lines
669 B
Python
18 lines
669 B
Python
import os
|
|
from starlette.templating import Jinja2Templates
|
|
from passlib.context import CryptContext
|
|
from fastapi.security import OAuth2PasswordBearer
|
|
import jinja2
|
|
|
|
SECRET_KEY = os.getenv("SECRET_KEY", "nexhome-dev-secret-key-change-in-production")
|
|
ALGORITHM = "HS256"
|
|
|
|
# Disable Jinja2 cache to work around Python 3.14 compatibility issue
|
|
_loader = jinja2.FileSystemLoader("templates")
|
|
_env = jinja2.Environment(loader=_loader, autoescape=jinja2.select_autoescape(), cache_size=0)
|
|
templates = Jinja2Templates(env=_env)
|
|
|
|
bcrypt_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
|
|
|
oauth2_bearer = OAuth2PasswordBearer(tokenUrl="auth/token", auto_error=False)
|