-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.py
41 lines (31 loc) · 1 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Global configuration
import os
from uuid import uuid4
from authlib.integrations.flask_client import OAuth
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
from flask_jwt_extended import JWTManager
from middleware.util import get_env_variable
class Config:
connection = None
config = Config()
secret_key = get_env_variable("FLASK_APP_COOKIE_ENCRYPTION_KEY")
cache_secret_key = f"_state_github_{secret_key}"
oauth = OAuth()
oauth.register(
name="github",
client_id=get_env_variable("GH_CLIENT_ID"),
client_secret=get_env_variable("GH_CLIENT_SECRET"),
access_token_url="https://github.com/login/oauth/access_token",
access_token_params=None,
authorize_url="https://github.com/login/oauth/authorize",
authorize_params=None,
api_base_url="https://api.github.com/",
client_kwargs={"scope": "user:email"},
)
limiter = Limiter(
key_func=get_remote_address,
default_limits=["100 per hour"],
storage_uri="memory://",
)
jwt = JWTManager()