Ejecutamos un gran sistema distribuido que consiste en un número (> 10) de servicios web basados en Django y aplicaciones web con una base de consumidores de aproximadamente 10000 estudiantes universitarios. Actualmente, utilizamos un único sistema de inicio de sesión único (Shibboleth) proporcionado por nuestra universidad para manejar la autenticación. Las autorizaciones / roles se configuran manualmente por usuario en cada servicio web. Nuestra arquitectura actual se muestra a continuación:
NosgustaríaextendernuestrosistemaparapermitiriniciosdesesiónusandoGoogle,Facebook,LinkedInyotrasuniversidades.Parecequenecesitamosunmiddlewarequeestéacargodelaautenticaciónylaadministraciónderoles.Losrolessecreanconfrecuenciaynosepuedendefinirdeformaestática.Elmiddlewaretambiéndeberealizarlaadministracióndesesiones(comoelmanejodetiemposdeespera,elcierredesesiónúnico).Nosimaginamosalgocomolosiguiente:
¿Quécomponentesnecesitaríamosenestemiddleware?Nuestroadministradordesistemasestáconsiderando