Example #1
0
def add_user_group(id, body):
    try:
        get_keycloak().group_user_add(id, body['id'])
        return {}, 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #2
0
def delete_user_group(id):
    try:
        get_keycloak().group_user_remove(id, request.json['id'])
        return {}, 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #3
0
def delete_user(id):
    try:
        get_keycloak().user_delete(id)
        logger.info(f'Deleted user {id}')
        return {}, 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #4
0
def create_user(body):
    try:
        user_id = get_keycloak().user_create(body)
        logger.info(f'Created user {user_id}')
        return get_keycloak().user_get(user_id), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #5
0
def update_user(id, body):
    try:
        get_keycloak().user_update(id, body)
        logger.info(f'Updated user {id}')
        return get_keycloak().user_get(id), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #6
0
def create_role(body):
    try:
        role_id = get_keycloak().role_create(body)
        logger.info(f'Create role {role_id}')
        return get_keycloak().role_get(role_id), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #7
0
def create_group(body):
    try:
        group_id = get_keycloak().group_create(body)
        logger.info(f'Created group {id}')
        return get_keycloak().group_get(group_id), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #8
0
def update_role(id, body):
    try:
        get_keycloak().role_update(id, body)
        role_name = body['name']
        logger.info(f'Updated role {id}')
        return get_keycloak().role_get(role_name), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #9
0
def list_user_groups(id):
    try:
        return get_keycloak().user_group_list(id), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #10
0
def get_current_user(user):
    try:
        return get_keycloak().user_get(user), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #11
0
def get_role(id):
    try:
        return get_keycloak().role_get(id), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #12
0
def get_token_info():
    # Bearer auth is enforced by connexion (see openapi spec)
    _, access_token = request.headers['Authorization'].split()

    try:
        return get_keycloak().token_info(access_token), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #13
0
def create_token():
    if not request.authorization:
        return problem(401, 'Unauthorized', 'Missing basic auth credentials')

    username = request.authorization['username']
    password = request.authorization['password']

    try:
        return get_keycloak().login(username, password), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #14
0
def refresh_token():
    if 'Authorization' not in request.headers:
        return problem(401, 'Unauthorized', 'Missing refresh token')

    try:
        _, refresh_token = request.headers['Authorization'].split()
    except Exception:
        return problem(401, 'Unauthorized', 'Invalid token')

    try:
        return get_keycloak().token_refresh(refresh_token), 200
    except KeycloakGetError as e:
        logger.exception(e)
        return problem_from_keycloak_error(e)
    except Exception as e:
        logger.exception(e)
        return problem(500, 'Unknown Error', str(e))
Example #15
0
def basic_auth(username, password, required_scopes=None):
    return get_keycloak().login(username, password)
Example #16
0
def decode_token(token):
    return get_keycloak().token_info(token)