auth api tested

This commit is contained in:
2025-03-25 19:01:46 +03:00
parent db2cde2f5d
commit 637edfadd4
65 changed files with 774 additions and 673 deletions

View File

@@ -0,0 +1,118 @@
import datetime
class DefaultApiConfig:
app: str
host: str
port: int
log_level: str
reload: bool
@classmethod
def as_dict(cls):
return {
"app": cls.app,
"host": cls.host,
"port": int(cls.port),
"log_level": cls.log_level,
"reload": bool(cls.reload),
}
class ApiConfigs:
"""Base class for all configurations."""
SECRET: str = (
"59f871a2d2194e96adb36b279d2cc21059f871a2d2194e96adb36b279d2cc21059f871a2d2194e96adb36b279d2cc210s"
)
ACCESS_TIME: int = 432000
REFRESH_TIME: int = 864000
DEFAULT_SIZE: int = 10
MIN_SIZE: int = 5
MAX_SIZE: int = 50
ACCESS_TOKEN_TAG: str = "Authorization"
REFRESH_TOKEN_TAG: str = "Refresher"
ACCESS_TOKEN_LENGTH: int = 72
REFRESH_TOKEN_LENGTH: int = 128
class ApiStatic:
PLACEHOLDER = "https://s.tmimgcdn.com/scr/800x500/276800/building-home-nature-logo-vector-template-3_276851-original.jpg"
FORGOT_LINK = "https://www.evyos.com.tr/password/create?tokenUrl="
BLACKLIST_LINK = "https://www.evyos.com.tr/support/unknown-login-notice/"
APP_DIR = "/home/berkay/git-evyos/api-managment-backend/"
@classmethod
def forgot_link(cls, forgot_key):
return cls.FORGOT_LINK + forgot_key
@classmethod
def blacklist_login(cls, record_id):
return cls.BLACKLIST_LINK + record_id
class MainConfig:
# Date and Time Configuration
DATETIME_FORMAT = "YYYY-MM-DD HH:mm:ss Z"
DATETIME_FORMAT_JS = "YYYY-MM-DD HH:mm:ss +0"
# Timezone Configuration
DEFAULT_TIMEZONE = "GMT+3" # Default timezone for the application
SYSTEM_TIMEZONE = "GMT+0" # System timezone (used for internal operations)
SUPPORTED_TIMEZONES = ["GMT+0", "GMT+3"] # List of supported timezones
class LanguageConfig:
SUPPORTED_LANGUAGES = ["en", "tr"]
DEFAULT_LANGUAGE = "tr"
class ValidationsConfig:
SUPPORTED_VALIDATIONS = ["header", "validation", "all"]
DEFAULT_VALIDATION = "all"
class ApiConfig(DefaultApiConfig):
# Application Information
APP_NAME = "evyos-auth-api-gateway"
TITLE = "WAG API Auth Api Gateway"
DESCRIPTION = (
"This api is serves as web auth api gateway only to evyos web services."
)
APP_URL = "https://www.auth.eys.gen.tr"
# Server Configuration
app = "app:app"
host = "0.0.0.0"
port = 41575
log_level = "info"
reload = True
class Auth:
ACCESS_EMAIL_EXT = "evyos.com.tr"
ACCESS_TOKEN_TAG = "evyos-session-key"
REFRESHER_TOKEN_TAG = "eys-session-refresher"
SECRET_KEY_72 = (
"t3sUAmjTGeTgDc6dAUrB41u2SNg0ZHzj4HTjem95y3fRH1nZXOHIBj163kib6iLybT0gLaxq"
)
SECRET_KEY_96 = "7ct8VpiwaP1hR2bVSet4dEEAgepuTZUOnO1QxOgKyDqBR2PkqNhcubSrbUUigQKoQA1PBoeeQn5ZCo24pESmVtKs76nA4EKq"
SECRET_KEY_144 = (
"R2p5Rq6KCr6PCfjFYUeH1keF2VWHFEuqINVjBGGnvRA2m10pYUKqfOtIGBcaj2v5wZmElDndzSHGOS7roQsoTelPSok0"
+ "qqMucurMWE0FGexGpFuJkfPEm9tH2OjMOqegvEetpSVywH0W4Kh4"
)
ALGORITHM = "HS256"
ACCESS_TOKEN_LENGTH: int = 90
REFRESHER_TOKEN_LENGTH: int = 144
PASSWORD_EXPIRE_DAY = datetime.timedelta(days=30)
TOKEN_EXPIRE_MINUTES_1 = datetime.timedelta(minutes=1)
TOKEN_EXPIRE_MINUTES_15 = datetime.timedelta(minutes=15)
TOKEN_EXPIRE_MINUTES_30 = datetime.timedelta(minutes=30)
TOKEN_EXPIRE_DAY_1 = datetime.timedelta(days=1)
TOKEN_EXPIRE_DAY_5 = datetime.timedelta(days=5)
TOKEN_EXPIRE_DAY_15 = datetime.timedelta(days=15)
TOKEN_EXPIRE_DAY_30 = datetime.timedelta(days=30)

View File

@@ -5,19 +5,21 @@ from ApiLayers.AllConfigs import HostConfig
class Config:
MAILBOX: str = os.getenv('MAILBOX', "bilgilendirme@ileti.isbank.com.tr")
MAIN_MAIL: str = os.getenv('MAIN_MAIL', "karatay.berkay@gmail.com")
INFO_MAIL: str = os.getenv('INFO_MAIL', "mehmet.karatay@hotmail.com")
EMAIL_HOST: str = os.getenv('EMAIL_HOST', "10.10.2.34")
EMAIL_SENDER_USERNAME: str = os.getenv('EMAIL_SENDER_USERNAME', "karatay@mehmetkaratay.com.tr")
EMAIL_USERNAME: str = os.getenv('EMAIL_USERNAME', "isbank@mehmetkaratay.com.tr")
EMAIL_PASSWORD: str = os.getenv('EMAIL_PASSWORD', "system")
AUTHORIZE_IBAN: str = os.getenv('AUTHORIZE_IBAN', "4245-0093333")
SERVICE_TIMING: int = int(os.getenv('SERVICE_TIMING', 900))
EMAIL_PORT: int = int(os.getenv('EMAIL_PORT', 993))
EMAIL_SEND_PORT: int = int(os.getenv('EMAIL_SEND_PORT', 587))
EMAIL_SLEEP: int = int(os.getenv('EMAIL_SLEEP', 60))
EMAIL_SEND: bool = bool(os.getenv('EMAIL_SEND', False))
MAILBOX: str = os.getenv("MAILBOX", "bilgilendirme@ileti.isbank.com.tr")
MAIN_MAIL: str = os.getenv("MAIN_MAIL", "karatay.berkay@gmail.com")
INFO_MAIL: str = os.getenv("INFO_MAIL", "mehmet.karatay@hotmail.com")
EMAIL_HOST: str = os.getenv("EMAIL_HOST", "10.10.2.34")
EMAIL_SENDER_USERNAME: str = os.getenv(
"EMAIL_SENDER_USERNAME", "karatay@mehmetkaratay.com.tr"
)
EMAIL_USERNAME: str = os.getenv("EMAIL_USERNAME", "isbank@mehmetkaratay.com.tr")
EMAIL_PASSWORD: str = os.getenv("EMAIL_PASSWORD", "system")
AUTHORIZE_IBAN: str = os.getenv("AUTHORIZE_IBAN", "4245-0093333")
SERVICE_TIMING: int = int(os.getenv("SERVICE_TIMING", 900))
EMAIL_PORT: int = int(os.getenv("EMAIL_PORT", 993))
EMAIL_SEND_PORT: int = int(os.getenv("EMAIL_SEND_PORT", 587))
EMAIL_SLEEP: int = int(os.getenv("EMAIL_SLEEP", 60))
EMAIL_SEND: bool = bool(os.getenv("EMAIL_SEND", False))
class EmailConfig:

View File

@@ -3,7 +3,7 @@ from ApiLayers.AllConfigs import HostConfig
class WagDatabase:
HOST: str = HostConfig.MAIN_HOST
PORT: int = 5434
PORT: int = 5444
SQL: str = "postgresql+psycopg2"
USERNAME: str = "berkay_wag_user"
PASSWORD: str = "berkay_wag_user_password"

View File

@@ -1,5 +1,3 @@
class HostConfig:
MAIN_HOST = "10.10.2.36" # http://10.10.2.36 Database and other services