migrated to poetry; updated all packages
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user