Estoy diseñando un sistema compuesto por varios servicios. Algunos solo pueden ser afectados desde dentro de nuestra red y otros pueden ser afectados externamente. Uno de estos servicios es un servicio de "inicio de sesión" o "autenticación".
Mi pensamiento es que un usuario iniciará sesión con un nombre de usuario / contraseña para enviarlo al servicio de autenticación. Ese servicio devolverá algún tipo de token de autenticación que otorga acceso a los otros servicios sujetos a los privilegios otorgados a ese usuario.
¿Cuáles son las mejores prácticas para diseñar de manera segura una infraestructura de este tipo? ¿Algún recurso que recomiendas para una lectura más profunda?