diff --git a/admin/src/admin/auth/authentication.py b/admin/src/admin/auth/authentication.py index 729381e..cc2d632 100644 --- a/admin/src/admin/auth/authentication.py +++ b/admin/src/admin/auth/authentication.py @@ -1,8 +1,9 @@ import os -from admin import app from flask_login import LoginManager, UserMixin +from admin import app + """ OIDC TESTS """ # from flask_oidc import OpenIDConnect # app.config.update({ diff --git a/admin/src/admin/auth/tokens.py b/admin/src/admin/auth/tokens.py index a3c7b01..a220b1f 100644 --- a/admin/src/admin/auth/tokens.py +++ b/admin/src/admin/auth/tokens.py @@ -9,10 +9,11 @@ import os import traceback from functools import wraps -from admin import app from flask import request from jose import jwt +from admin import app + from ..lib.api_exceptions import Error @@ -55,12 +56,15 @@ def get_token_auth_header(): def get_token_payload(token): + log.warning("The received token in get_token_payload is: " + str(token)) try: claims = jwt.get_unverified_claims(token) secret = app.config["API_SECRET"] except: - log.warning("JWT token with invalid parameters. Can not parse it.") + log.warning( + "JWT token with invalid parameters. Can not parse it.: " + str(token) + ) raise Error( "unauthorized", "Unable to parse authentication parameters token.", @@ -75,7 +79,7 @@ def get_token_payload(token): options=dict(verify_aud=False, verify_sub=False, verify_exp=True), ) except jwt.ExpiredSignatureError: - log.info("Token expired") + log.warning("Token expired") raise Error("unauthorized", "Token is expired", traceback.format_stack()) except jwt.JWTClaimsError: diff --git a/admin/src/admin/lib/admin.py b/admin/src/admin/lib/admin.py index 086eaea..990faa0 100644 --- a/admin/src/admin/lib/admin.py +++ b/admin/src/admin/lib/admin.py @@ -6,12 +6,19 @@ from pprint import pprint from time import sleep import diceware + from admin import app from .avatars import Avatars -from .helpers import (filter_roles_list, filter_roles_listofdicts, - get_gids_from_kgroup_ids, get_group_from_group_id, - gid2kpath, kpath2gid, system_username) +from .helpers import ( + filter_roles_list, + filter_roles_listofdicts, + get_gids_from_kgroup_ids, + get_group_from_group_id, + gid2kpath, + kpath2gid, + system_username, +) from .keycloak_client import KeycloakClient from .moodle import Moodle from .nextcloud import Nextcloud @@ -26,9 +33,14 @@ import secrets from .api_exceptions import Error from .events import Events, sio_event_send from .exceptions import UserExists, UserNotFound -from .helpers import (count_repeated, get_group_with_childs, - get_kid_from_kpath, kpath2gids, kpath2kpaths, - rand_password) +from .helpers import ( + count_repeated, + get_group_with_childs, + get_kid_from_kpath, + kpath2gids, + kpath2kpaths, + rand_password, +) MANAGER = os.environ["CUSTOM_ROLE_MANAGER"] TEACHER = os.environ["CUSTOM_ROLE_TEACHER"] diff --git a/admin/src/admin/lib/api_exceptions.py b/admin/src/admin/lib/api_exceptions.py index e332ac7..3873f22 100644 --- a/admin/src/admin/lib/api_exceptions.py +++ b/admin/src/admin/lib/api_exceptions.py @@ -4,9 +4,10 @@ import logging as log import os import traceback -from admin import app from flask import jsonify, request +from admin import app + content_type = {"Content-Type": "application/json"} ex = { "bad_request": { diff --git a/admin/src/admin/lib/avatars.py b/admin/src/admin/lib/avatars.py index d12b08b..65caab3 100644 --- a/admin/src/admin/lib/avatars.py +++ b/admin/src/admin/lib/avatars.py @@ -2,12 +2,13 @@ import logging as log import os from pprint import pprint -from admin import app from minio import Minio from minio.commonconfig import REPLACE, CopySource from minio.deleteobjects import DeleteObject from requests import get, post +from admin import app + class Avatars: def __init__(self): diff --git a/admin/src/admin/lib/dashboard.py b/admin/src/admin/lib/dashboard.py index 89a2cff..cb5699d 100644 --- a/admin/src/admin/lib/dashboard.py +++ b/admin/src/admin/lib/dashboard.py @@ -7,10 +7,11 @@ from pprint import pprint import requests import yaml -from admin import app from PIL import Image from schema import And, Optional, Schema, SchemaError, Use +from admin import app + class Dashboard: def __init__( diff --git a/admin/src/admin/lib/events.py b/admin/src/admin/lib/events.py index 65e01b5..534ed07 100644 --- a/admin/src/admin/lib/events.py +++ b/admin/src/admin/lib/events.py @@ -9,11 +9,19 @@ import traceback from time import sleep from uuid import uuid4 +from flask import Response, jsonify, redirect, render_template, request, url_for +from flask_socketio import ( + SocketIO, + close_room, + disconnect, + emit, + join_room, + leave_room, + rooms, + send, +) + from admin import app -from flask import (Response, jsonify, redirect, render_template, request, - url_for) -from flask_socketio import (SocketIO, close_room, disconnect, emit, join_room, - leave_room, rooms, send) def sio_event_send(event, data): diff --git a/admin/src/admin/lib/legal.py b/admin/src/admin/lib/legal.py index 5595199..055bdbd 100644 --- a/admin/src/admin/lib/legal.py +++ b/admin/src/admin/lib/legal.py @@ -5,7 +5,6 @@ import traceback from admin import app from pprint import pprint -from admin import app from minio import Minio from minio.commonconfig import REPLACE, CopySource from minio.deleteobjects import DeleteObject diff --git a/admin/src/admin/lib/load_config.py b/admin/src/admin/lib/load_config.py index a004004..ba193d8 100644 --- a/admin/src/admin/lib/load_config.py +++ b/admin/src/admin/lib/load_config.py @@ -7,9 +7,10 @@ import sys import traceback import yaml -from admin import app from cerberus import Validator, rules_set_registry, schema_registry +from admin import app + class AdminValidator(Validator): None diff --git a/admin/src/admin/lib/moodle.py b/admin/src/admin/lib/moodle.py index 3f062ef..25190f7 100644 --- a/admin/src/admin/lib/moodle.py +++ b/admin/src/admin/lib/moodle.py @@ -2,9 +2,10 @@ import logging as log import traceback from pprint import pprint -from admin import app from requests import get, post +from admin import app + from .exceptions import UserExists, UserNotFound from .postgres import Postgres diff --git a/admin/src/admin/lib/nextcloud.py b/admin/src/admin/lib/nextcloud.py index 6a8b573..e3d9d2e 100644 --- a/admin/src/admin/lib/nextcloud.py +++ b/admin/src/admin/lib/nextcloud.py @@ -10,6 +10,7 @@ import traceback import urllib import requests + # from ..lib.log import * from admin import app diff --git a/admin/src/admin/lib/postup.py b/admin/src/admin/lib/postup.py index db9e85d..f8b048b 100644 --- a/admin/src/admin/lib/postup.py +++ b/admin/src/admin/lib/postup.py @@ -4,6 +4,7 @@ import json import logging as log import os import random + # from .keycloak import Keycloak # from .moodle import Moodle import string @@ -13,6 +14,7 @@ from datetime import datetime, timedelta import psycopg2 import yaml + from admin import app from .postgres import Postgres diff --git a/admin/src/admin/views/ApiViews.py b/admin/src/admin/views/ApiViews.py index cf76974..f095d18 100644 --- a/admin/src/admin/views/ApiViews.py +++ b/admin/src/admin/views/ApiViews.py @@ -8,9 +8,10 @@ import sys import time import traceback -from admin import app from flask import request +from admin import app + from ..lib.api_exceptions import Error from .decorators import has_token diff --git a/admin/src/admin/views/AppViews.py b/admin/src/admin/views/AppViews.py index 447e612..2c13eae 100644 --- a/admin/src/admin/views/AppViews.py +++ b/admin/src/admin/views/AppViews.py @@ -6,17 +6,18 @@ import logging as log import os import re import sys + # import Queue import threading import time import traceback from uuid import uuid4 -from admin import app -from flask import (Response, jsonify, redirect, render_template, request, - url_for) +from flask import Response, jsonify, redirect, render_template, request, url_for from flask_login import current_user, login_required +from admin import app + from ..lib.helpers import system_group from .decorators import login_or_token diff --git a/admin/src/admin/views/LoginViews.py b/admin/src/admin/views/LoginViews.py index 2194df8..61a9a9d 100644 --- a/admin/src/admin/views/LoginViews.py +++ b/admin/src/admin/views/LoginViews.py @@ -1,9 +1,10 @@ import os -from admin import app from flask import flash, redirect, render_template, request, url_for from flask_login import current_user, login_required, login_user, logout_user +from admin import app + from ..auth.authentication import * diff --git a/admin/src/admin/views/WebViews.py b/admin/src/admin/views/WebViews.py index d570195..e162630 100644 --- a/admin/src/admin/views/WebViews.py +++ b/admin/src/admin/views/WebViews.py @@ -11,11 +11,19 @@ from pprint import pprint from uuid import uuid4 import requests -from admin import app -from flask import (Response, jsonify, redirect, render_template, request, - send_file, url_for) +from flask import ( + Response, + jsonify, + redirect, + render_template, + request, + send_file, + url_for, +) from flask_login import login_required +from admin import app + from ..lib.avatars import Avatars from .decorators import is_admin diff --git a/admin/src/admin/views/WpViews.py b/admin/src/admin/views/WpViews.py index 43e3d7a..0c829dd 100644 --- a/admin/src/admin/views/WpViews.py +++ b/admin/src/admin/views/WpViews.py @@ -8,9 +8,10 @@ import sys import time import traceback -from admin import app from flask import request +from admin import app + from .decorators import is_internal diff --git a/admin/src/start.py b/admin/src/start.py index dedd1ef..30532ad 100644 --- a/admin/src/start.py +++ b/admin/src/start.py @@ -6,7 +6,6 @@ monkey_patch() import json -<<<<<<< HEAD from flask_login import login_required from flask_socketio import ( SocketIO, @@ -19,14 +18,10 @@ from flask_socketio import ( send, ) -======= ->>>>>>> fix(admin): applied jwt token verification at ws and black/isort from admin import app from admin.auth.tokens import get_token_payload from admin.lib.api_exceptions import Error from flask import request -from flask_socketio import (SocketIO, close_room, disconnect, emit, join_room, - leave_room, rooms, send) app.socketio = SocketIO(app)