def get(self): try: expires = datetime.timedelta(minutes=tiempoExpiracion) token = create_access_token(identity=get_jwt_identity(), expires_delta=expires, user_claims=get_jwt_claims()) date = datetime.datetime.today() + expires return marshal({'token': token, 'expires': str(date)}, loginFields), 200 except: return messageHandler('Error al crear token')
def post(self): args = self.reqparse.parse_args() usr: Usuarios = db.session.query(Usuarios).filter_by( usuario=str(args['usuario'])).first() if usr == None: return messageHandler('Usuario incorrecto',401) if not usr.activo: return messageHandler('Usuario deshabilitado',401) f = Fernet(settings.CRYPTO_SECRET_KEY) if f.decrypt(usr.password.encode()).decode() == str(args['password']): try: permisos = self.getPermisos(usr.codUsuario) nombre = usr.nombre + ' ' + usr.apellido claims = { 'permisos': permisos, 'nombre': nombre } expires = datetime.timedelta(minutes=tiempoExpiracion) token = create_access_token( identity=usr.codUsuario, expires_delta=expires, user_claims=claims) date = datetime.datetime.today() + expires except: return messageHandler('Error al crear token') cargarBitacora(usr, 'Inicio de sesión', 'Usuario: {0}'.format(usr.usuario)) return marshal({'token': token, 'expires': str(date)}, loginFields), 200 else: return messageHandler('Contraseña incorrecta', 401)
def expired_toke(callback): return messageHandler('La sesión expiró', 401)
def unauthorized(callback): return messageHandler('No se ha iniciado sesión', 401)
def expired_token(callback): return messageHandler('Token inválido', 422)