예제 #1
0
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
예제 #2
0
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):