예제 #1
0
 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')
예제 #2
0
 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)
예제 #3
0
def expired_toke(callback):
    return messageHandler('La sesión expiró', 401)
예제 #4
0
def unauthorized(callback):
    return messageHandler('No se ha iniciado sesión', 401)
예제 #5
0
def expired_token(callback):
    return messageHandler('Token inválido', 422)