read configs from env

This commit is contained in:
h z
2024-12-05 13:39:08 +00:00
parent 9d0fd5b33c
commit 178219f097
4 changed files with 32 additions and 28 deletions

View File

@@ -9,6 +9,8 @@ import importlib
import requests
from threading import Lock
import env_provider
_public_key_cache = None
_lock = Lock()
@@ -20,7 +22,7 @@ def keycloak_public_key():
if _public_key_cache:
return _public_key_cache
url = "https://login.hangman-lab.top/realms/Hangman-Lab/protocol/openid-connect/certs"
url = f"{env_provider.KC_HOST}/realms/{env_provider.KC_REALM}/protocol/openid-connect/certs"
response = requests.get(url)
jwks = response.json()
public_key = jwks["keys"][0]["x5c"][0]
@@ -33,7 +35,7 @@ def verify_token(token):
token,
keycloak_public_key(),
algorithms=["RS256"],
audience="labdev"
audience=env_provider.KC_CLIENT_ID
)
return decoded
except ExpiredSignatureError:

View File

@@ -1,18 +0,0 @@
from flask import Blueprint, jsonify
import env_provider
from api import limiter
config_bp = Blueprint('config', __name__, url_prefix='/api/config')
@config_bp.route('/server_host', methods=['GET'])
@limiter.limit("120 per minute")
def server_host():
print(env_provider.SERVER_HOST)
return jsonify({"value": env_provider.SERVER_HOST}), 200
@config_bp.route('/kc_client_id', methods=['GET'])
@limiter.limit("120 per minute")
def kc_client_id():
print(env_provider.APP_CLIENT_ID)
return jsonify({"value": env_provider.APP_CLIENT_ID}), 200