migrated to poetry; updated all packages
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from flask import Blueprint, abort
|
||||
from flask_restplus import Api, Namespace
|
||||
from flask_restx import Api, Namespace
|
||||
|
||||
api_authorizations = {
|
||||
'apikey': {
|
||||
|
||||
@@ -10,21 +10,16 @@ import json
|
||||
from pprint import pprint
|
||||
|
||||
import flask
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
import jwt
|
||||
from flask import request, jsonify, current_app, url_for, Response, session, redirect, make_response
|
||||
from flask_jwt_extended import create_access_token, create_refresh_token, jwt_refresh_token_required, get_jwt_identity, \
|
||||
get_raw_jwt, jwt_required
|
||||
from functools import wraps
|
||||
from random import randint
|
||||
from flask import request, jsonify, current_app, url_for, redirect, make_response
|
||||
from flask_jwt_extended import create_access_token, create_refresh_token, get_jwt, get_jwt_identity, jwt_required
|
||||
|
||||
from flask_login import logout_user, login_user
|
||||
from typing import Iterable
|
||||
|
||||
from flask_restplus import Resource, fields
|
||||
from flask_restx import Resource, fields
|
||||
from werkzeug.routing import BuildError
|
||||
|
||||
from backend import db, app, jwt_extended
|
||||
from backend import db, app
|
||||
from backend.api import auth_api_bp, auth_api_providers_ns, auth_api_register_ns
|
||||
from backend.auth import AUTH_PROVIDERS, oidc_auth
|
||||
from backend.models.user_model import User, Group, BlacklistToken
|
||||
@@ -58,19 +53,19 @@ def register():
|
||||
return jsonify(user.to_dict()), 201
|
||||
|
||||
|
||||
@auth_api_register_ns.route('/')
|
||||
@auth_api_register_ns.expect(auth_api_register_ns.model('RegisterModel', {
|
||||
'nickname': fields.String(required=False, description='The user\'s nickname'),
|
||||
'first_name': fields.String(required=False, description='The user\'s first name'),
|
||||
'last_name': fields.String(required=False, description='The user\'s last name'),
|
||||
'lang': fields.String(required=False, description='The user\'s preferred language'),
|
||||
'timezone': fields.String(required=False, description='The user\'s preferred timezone'),
|
||||
'email': fields.String(required=True, description='The user\'s e-mail address'),
|
||||
'password': fields.String(required=False, description='The group\'s name')
|
||||
}))
|
||||
class AuthProviders(Resource):
|
||||
def get(self):
|
||||
return register()
|
||||
# @auth_api_register_ns.route('/')
|
||||
# @auth_api_register_ns.expect(auth_api_register_ns.model('RegisterModel', {
|
||||
# 'nickname': fields.String(required=False, description='The user\'s nickname'),
|
||||
# 'first_name': fields.String(required=False, description='The user\'s first name'),
|
||||
# 'last_name': fields.String(required=False, description='The user\'s last name'),
|
||||
# 'lang': fields.String(required=False, description='The user\'s preferred language'),
|
||||
# 'timezone': fields.String(required=False, description='The user\'s preferred timezone'),
|
||||
# 'email': fields.String(required=True, description='The user\'s e-mail address'),
|
||||
# 'password': fields.String(required=False, description='The group\'s name')
|
||||
# }))
|
||||
# class AuthProviders(Resource):
|
||||
# def get(self):
|
||||
# return register()
|
||||
|
||||
|
||||
@auth_api_bp.route('/login', methods=('GET', 'POST',))
|
||||
@@ -96,7 +91,7 @@ def login():
|
||||
@auth_api_bp.route('/logout', methods=['GET', 'DELETE'])
|
||||
@jwt_required
|
||||
def logout():
|
||||
jti = get_raw_jwt()['jti']
|
||||
jti = get_jwt()['jti']
|
||||
db.session.add(BlacklistToken(token=jti))
|
||||
db.session.commit()
|
||||
return jsonify({"msg": "Successfully logged out"}), 200
|
||||
@@ -104,9 +99,9 @@ def logout():
|
||||
|
||||
# Endpoint for revoking the current users refresh token
|
||||
@auth_api_bp.route('/logout2', methods=['GET', 'DELETE'])
|
||||
@jwt_refresh_token_required
|
||||
@jwt_required(refresh=True)
|
||||
def logout2():
|
||||
jti = get_raw_jwt()['jti']
|
||||
jti = get_jwt()['jti']
|
||||
db.session.add(BlacklistToken(token=jti))
|
||||
db.session.commit()
|
||||
return jsonify({"msg": "Successfully logged out"}), 200
|
||||
@@ -182,7 +177,7 @@ def oidc(redirect_url=None):
|
||||
|
||||
|
||||
@auth_api_bp.route('/refresh', methods=['GET'])
|
||||
@jwt_refresh_token_required
|
||||
@jwt_required(refresh=True)
|
||||
def refresh():
|
||||
"""Refresh token endpoint. This will generate a new access token from
|
||||
the refresh token, but will mark that access token as non-fresh,
|
||||
|
||||
@@ -8,8 +8,8 @@ Login through API does not start a new session, but instead returns JWT.
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
from flask_jwt_extended import jwt_required, get_current_user, get_jwt_claims
|
||||
from flask_restplus import fields, Resource
|
||||
from flask_jwt_extended import jwt_required, get_current_user, get_jwt
|
||||
from flask_restx import fields, Resource
|
||||
|
||||
from backend import db
|
||||
from backend.api import api_control, get_jwt_identity
|
||||
@@ -37,6 +37,6 @@ class ControlCommand(Resource):
|
||||
def post(self):
|
||||
print(get_current_user())
|
||||
print(get_jwt_identity())
|
||||
current_user = {'user': get_current_user(), 'claims': get_jwt_claims()}
|
||||
current_user = {'user': get_current_user(), 'claims': get_jwt()}
|
||||
args = self.control_command_parser.parse_args()
|
||||
return {'time': datetime.utcnow(), 'output': args, 'state': current_user}
|
||||
|
||||
@@ -5,7 +5,7 @@ import json
|
||||
import logging
|
||||
from random import *
|
||||
from flask import jsonify, Blueprint, request
|
||||
from flask_restplus import Resource, reqparse
|
||||
from flask_restx import Resource, reqparse
|
||||
|
||||
from backend import basic_auth, multi_auth, db, jwt_auth
|
||||
from backend.api import api_v1, api_bp
|
||||
|
||||
@@ -6,7 +6,7 @@ For example: listing of available auth providers or registration of users.
|
||||
Login through API does not start a new session, but instead returns JWT.
|
||||
"""
|
||||
from flask_jwt_extended import jwt_required
|
||||
from flask_restplus import fields, Resource
|
||||
from flask_restx import fields, Resource
|
||||
|
||||
from backend import db
|
||||
from backend.api import api_group
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from flask_restplus import fields
|
||||
from flask_restx import fields
|
||||
from backend.api import api_user, api_recorder, api_v1
|
||||
|
||||
generic_id_parser = api_v1.parser()
|
||||
|
||||
@@ -9,7 +9,7 @@ from datetime import datetime
|
||||
from pprint import pprint
|
||||
|
||||
from flask_jwt_extended import jwt_required
|
||||
from flask_restplus import fields, Resource, inputs
|
||||
from flask_restx import fields, Resource, inputs
|
||||
|
||||
from backend import db, app
|
||||
from backend.api import api_recorder
|
||||
|
||||
@@ -6,7 +6,7 @@ For example: listing of available auth providers or registration of users.
|
||||
Login through API does not start a new session, but instead returns JWT.
|
||||
"""
|
||||
from flask_jwt_extended import jwt_required
|
||||
from flask_restplus import fields, Resource
|
||||
from flask_restx import fields, Resource
|
||||
from sqlalchemy import exc
|
||||
|
||||
from backend import db, app
|
||||
|
||||
@@ -9,7 +9,7 @@ from datetime import datetime
|
||||
from pprint import pprint
|
||||
|
||||
from flask_jwt_extended import get_jwt_identity, jwt_required, current_user
|
||||
from flask_restplus import Resource, fields, inputs, abort
|
||||
from flask_restx import Resource, fields, inputs, abort
|
||||
|
||||
from backend import db, app, jwt_auth
|
||||
from backend.api import api_user
|
||||
|
||||
@@ -10,7 +10,7 @@ import pkgutil
|
||||
from pprint import pprint
|
||||
|
||||
from flask_jwt_extended import jwt_required
|
||||
from flask_restplus import fields, Resource
|
||||
from flask_restx import fields, Resource
|
||||
|
||||
from backend import db, app
|
||||
from backend.api import api_virtual_command
|
||||
|
||||
Reference in New Issue
Block a user