58 lines
1.3 KiB
Python
58 lines
1.3 KiB
Python
import os
|
|
from pathlib import Path
|
|
from environs import Env
|
|
from logging import getLogger
|
|
logger = getLogger(__file__)
|
|
|
|
|
|
def read_private_key_file(path):
|
|
with open(path) as f:
|
|
return f.read()
|
|
|
|
|
|
env = Env()
|
|
env.read_env("auth.cfg")
|
|
|
|
if 'TESTING' in os.environ:
|
|
test_path = Path(__file__).parents[1] / 'auth.cfg.test'
|
|
logger.warning("loading %s", test_path)
|
|
env.read_env(test_path, recurse=False, override=True)
|
|
|
|
STRIP_RE = env.str("STRIP_RE")
|
|
LDAP_URL = env.str("LDAP_URL")
|
|
DN_STRING = env.str("DN_STRING")
|
|
PEOPLE_BASEDN = env.str("PEOPLE_BASEDN")
|
|
UID_LDAP_FILTER = env.str("UID_LDAP_FILTER")
|
|
|
|
ISSUER_URL = env.str("ISSUER_URL", "https://arkhack.org")
|
|
|
|
LDAP_BIND_DN = env.str("LDAP_BIND_DN")
|
|
LDAP_BIND_PASSWORD = env.str("LDAP_BIND_PASSWORD")
|
|
|
|
|
|
SQLALCHEMY_DATABASE_URI = env.str("SQLALCHEMY_DATABASE_URI")
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = env.bool("SQLALCHEMY_TRACK_MODIFICATIONS")
|
|
SECRET_KEY = env.str("SECRET_KEY")
|
|
|
|
JWT_CONFIG = {
|
|
'key': read_private_key_file('private.pem'),
|
|
'alg': 'RS512',
|
|
'iss': ISSUER_URL,
|
|
'exp': 3600
|
|
}
|
|
|
|
SCOPES_SUPPORTED = [
|
|
"profile:read",
|
|
"profile:write",
|
|
"password:write",
|
|
"users:read",
|
|
"openid",
|
|
]
|
|
|
|
RESPONSE_TYPES_SUPPORTED = [
|
|
"code",
|
|
"code id_token",
|
|
"id_token",
|
|
"token id_token",
|
|
]
|