from flask_cors import CORS from flask_jwt_extended import (JWTManager, create_access_token, create_refresh_token, get_jti, jwt_refresh_token_required, get_jwt_identity, jwt_required, get_raw_jwt) from configs import AppConfig import routes import logging from pymongo import MongoClient server = Flask(__name__) server.config['JWT_SECRET_KEY'] = AppConfig.get_jwt_secret_key() server.config['PROPAGATE_EXCEPTIONS'] = True server.config['JWT_ACCESS_TOKEN_EXPIRES'] = timedelta( minutes=AppConfig.get_jwt_access_token_expiry_in_mins()) server.config['JWT_REFRESH_TOKEN_EXPIRES'] = timedelta( days=AppConfig.get_jwt_refresh_token_expiry_in_days()) server.config['JWT_BLACKLIST_ENABLED'] = True server.config['JWT_BLACKLIST_TOKEN_CHECKS'] = ['access', 'refresh'] jwt = JWTManager(server) @server.before_request def before_request_func(): g.db_client = MongoClient(AppConfig.get_database_uri()) g.face_recognition = face_recognition @jwt.user_claims_loader
from flask_cors import CORS from flask_jwt_extended import ( JWTManager, create_access_token, create_refresh_token, get_jti, jwt_refresh_token_required, get_jwt_identity, jwt_required, get_raw_jwt ) import routes import logging import os from configs import AppConfig server = Flask(__name__) server.config['JWT_SECRET_KEY'] = AppConfig.get_jwt_secret_key() server.config['PROPAGATE_EXCEPTIONS'] = True server.config['JWT_ACCESS_TOKEN_EXPIRES'] = timedelta(minutes=AppConfig.get_jwt_access_token_expiry_in_mins()) server.config['JWT_REFRESH_TOKEN_EXPIRES'] = timedelta(days=AppConfig.get_jwt_refresh_token_expiry_in_days()) server.config['JWT_BLACKLIST_ENABLED'] = True server.config['JWT_BLACKLIST_TOKEN_CHECKS'] = ['access', 'refresh'] jwt = JWTManager(server) @jwt.user_claims_loader def add_claims_to_access_token(identity): return { 'username': identity['username'], 'role': identity['role'] } @jwt.token_in_blacklist_loader def check_if_token_is_valid(decrypted_token):