Loading capif_backend/backoffice_service/controllers/login.py +13 −4 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ from flask import Blueprint, jsonify, request from flask_jwt_extended import JWTManager, create_access_token, create_refresh_token, get_jwt_identity, jwt_required from flask_cors import cross_origin from datetime import timedelta # create blueprint backoffice_routes access_routes = Blueprint("acces_routes", __name__) Loading @@ -20,9 +21,13 @@ def login(): print("Bad username or password") return jsonify({"msg": "Bad username or password"}), 401 # Configurar la expiración del token a 24 horas expires = timedelta(hours=8) exprires_refresh = timedelta(days=30) # identity is a data that can be serialized in json -> username = superadmin access_token = create_access_token(identity=username, expires_delta=False) refresh_token = create_refresh_token(identity=username) access_token = create_access_token(identity=username, expires_delta=expires) refresh_token = create_refresh_token(identity=username, expires_delta=exprires_refresh) return jsonify(access_token=access_token, refresh_token=refresh_token) Loading @@ -31,10 +36,14 @@ def login(): @cross_origin() @access_routes.route('/refresh', methods=["POST"]) @jwt_required @jwt_required(refresh=True) def refresh(): current_user = get_jwt_identity() new_access_token = create_access_token(identity=current_user) # Configurar la expiración del nuevo token de acceso a 8 horas expires = timedelta(hours=8) new_access_token = create_access_token(identity=current_user, expires_delta=expires) return jsonify(access_token=new_access_token) # al hacer F5 en la página, si hay un JWT en las cookies tienes que saber si ese JWT es válido, y traerte los datos del usuario que te puedan interesar del backend Loading capif_backend/backoffice_service/core/operations.py +32 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ import os import json import copy import pymongo import sys class Operations: Loading Loading @@ -700,6 +701,37 @@ class Operations: responses = [] for user in users: print(f"Buscando al usuario: {user['username']}") search_result = self.search_users(user['username'], 1, 1) print(f"Resultado de la búsqueda: {search_result}") sys.stdout.flush() # search_result = ({'data': [ # {'username': 'ROBOT_TESTING_PROVIDER_3', # 'password': 'password', # 'role': 'provider', # 'description': 'Testing', # 'cn': 'ROBOT_TESTING_PROVIDER_3', # 'list_invokers': [], # 'list_providers': ['fcc6342ad3151878f92865d2d546fa'], # 'onboarding_date': datetime.datetime(2024, 3, 15, 8, 23, 6, 978000) # } # ]}, 200) if search_result: user1 = search_result[0]['data'][0] # Accediendo al primer elemento de la lista bajo la clave 'data' if 'list_invokers' in user1: for invoker in user1['list_invokers']: self.delete_invoker(invoker) if 'list_providers' in user1: for provider in user1['list_providers']: self.delete_provider(provider) else: responses.append({'username': user['username'], 'message': 'Invalid user.'}) continue if not user: responses.append({'username': user['username'], 'message': 'Invalid user.'}) continue Loading Loading
capif_backend/backoffice_service/controllers/login.py +13 −4 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ from flask import Blueprint, jsonify, request from flask_jwt_extended import JWTManager, create_access_token, create_refresh_token, get_jwt_identity, jwt_required from flask_cors import cross_origin from datetime import timedelta # create blueprint backoffice_routes access_routes = Blueprint("acces_routes", __name__) Loading @@ -20,9 +21,13 @@ def login(): print("Bad username or password") return jsonify({"msg": "Bad username or password"}), 401 # Configurar la expiración del token a 24 horas expires = timedelta(hours=8) exprires_refresh = timedelta(days=30) # identity is a data that can be serialized in json -> username = superadmin access_token = create_access_token(identity=username, expires_delta=False) refresh_token = create_refresh_token(identity=username) access_token = create_access_token(identity=username, expires_delta=expires) refresh_token = create_refresh_token(identity=username, expires_delta=exprires_refresh) return jsonify(access_token=access_token, refresh_token=refresh_token) Loading @@ -31,10 +36,14 @@ def login(): @cross_origin() @access_routes.route('/refresh', methods=["POST"]) @jwt_required @jwt_required(refresh=True) def refresh(): current_user = get_jwt_identity() new_access_token = create_access_token(identity=current_user) # Configurar la expiración del nuevo token de acceso a 8 horas expires = timedelta(hours=8) new_access_token = create_access_token(identity=current_user, expires_delta=expires) return jsonify(access_token=new_access_token) # al hacer F5 en la página, si hay un JWT en las cookies tienes que saber si ese JWT es válido, y traerte los datos del usuario que te puedan interesar del backend Loading
capif_backend/backoffice_service/core/operations.py +32 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ import os import json import copy import pymongo import sys class Operations: Loading Loading @@ -700,6 +701,37 @@ class Operations: responses = [] for user in users: print(f"Buscando al usuario: {user['username']}") search_result = self.search_users(user['username'], 1, 1) print(f"Resultado de la búsqueda: {search_result}") sys.stdout.flush() # search_result = ({'data': [ # {'username': 'ROBOT_TESTING_PROVIDER_3', # 'password': 'password', # 'role': 'provider', # 'description': 'Testing', # 'cn': 'ROBOT_TESTING_PROVIDER_3', # 'list_invokers': [], # 'list_providers': ['fcc6342ad3151878f92865d2d546fa'], # 'onboarding_date': datetime.datetime(2024, 3, 15, 8, 23, 6, 978000) # } # ]}, 200) if search_result: user1 = search_result[0]['data'][0] # Accediendo al primer elemento de la lista bajo la clave 'data' if 'list_invokers' in user1: for invoker in user1['list_invokers']: self.delete_invoker(invoker) if 'list_providers' in user1: for provider in user1['list_providers']: self.delete_provider(provider) else: responses.append({'username': user['username'], 'message': 'Invalid user.'}) continue if not user: responses.append({'username': user['username'], 'message': 'Invalid user.'}) continue Loading