mirror of
https://github.com/revanced/revanced-api.git
synced 2025-04-29 14:14:29 +02:00
41 lines
1023 B
Python
41 lines
1023 B
Python
import os
|
|
import secrets
|
|
import string
|
|
from data.database import Session
|
|
|
|
from sanic_beskar import Beskar
|
|
|
|
from data.models import UserDbModel
|
|
|
|
beskar = Beskar()
|
|
|
|
|
|
def configure_auth(app):
|
|
app.config.SECRET_KEY = os.environ.get("SECRET_KEY").join(
|
|
secrets.choice(string.ascii_letters) for i in range(15)
|
|
)
|
|
app.config["TOKEN_ACCESS_LIFESPAN"] = {"hours": 24}
|
|
app.config["TOKEN_REFRESH_LIFESPAN"] = {"days": 30}
|
|
beskar.init_app(app, UserDbModel)
|
|
|
|
_init_default_user()
|
|
|
|
|
|
def _init_default_user():
|
|
username = os.environ.get("USERNAME")
|
|
password = os.environ.get("PASSWORD")
|
|
|
|
if not username or not password:
|
|
raise Exception("Missing USERNAME or PASSWORD environment variables")
|
|
|
|
session = Session()
|
|
|
|
existing_user = session.query(UserDbModel).filter_by(username=username).first()
|
|
if not existing_user:
|
|
session.add(
|
|
UserDbModel(username=username, password=beskar.hash_password(password))
|
|
)
|
|
session.commit()
|
|
|
|
session.close()
|