123
This commit is contained in:
50
backend/auth_service/app/config.py
Normal file
50
backend/auth_service/app/config.py
Normal file
@@ -0,0 +1,50 @@
|
||||
"""
|
||||
Configuration settings for Authentication Service
|
||||
Loads environment variables and provides configuration object
|
||||
"""
|
||||
|
||||
import os
|
||||
from pydantic_settings import BaseSettings
|
||||
from typing import Optional
|
||||
|
||||
class Settings(BaseSettings):
|
||||
"""Application settings using Pydantic BaseSettings"""
|
||||
|
||||
# Database settings
|
||||
DATABASE_URL: str = os.getenv(
|
||||
"DATABASE_URL",
|
||||
# If DATABASE_URL is not set, raise an error to force proper configuration
|
||||
# For development, you can create a .env file with DATABASE_URL=mysql+aiomysql://user:password@host/dbname
|
||||
)
|
||||
|
||||
# JWT settings
|
||||
JWT_SECRET_KEY: str = os.getenv(
|
||||
"JWT_SECRET_KEY",
|
||||
# If JWT_SECRET_KEY is not set, raise an error to force proper configuration
|
||||
# For development, you can create a .env file with JWT_SECRET_KEY=your-secret-key
|
||||
)
|
||||
JWT_ALGORITHM: str = "HS256"
|
||||
JWT_EXPIRATION_HOURS: int = 24
|
||||
|
||||
# Security settings
|
||||
BCRYPT_ROUNDS: int = 12
|
||||
|
||||
# Application settings
|
||||
APP_NAME: str = "Weibo-HotSign Authentication Service"
|
||||
DEBUG: bool = os.getenv("DEBUG", "False").lower() == "true"
|
||||
HOST: str = os.getenv("HOST", "0.0.0.0")
|
||||
PORT: int = int(os.getenv("PORT", 8000))
|
||||
|
||||
# CORS settings
|
||||
ALLOWED_ORIGINS: list = [
|
||||
"http://localhost:3000",
|
||||
"http://localhost:80",
|
||||
"http://127.0.0.1:3000"
|
||||
]
|
||||
|
||||
class Config:
|
||||
case_sensitive = True
|
||||
env_file = ".env"
|
||||
|
||||
# Create global settings instance
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user