Estrategia de autorización / autenticación para aplicaciones de microservicio

0

¿Cómo se puede hacer cumplir la autorización / autenticación para aplicaciones de microservicio? Y también, ¿cómo lograr el inicio de sesión único (SSO) desde la perspectiva de un usuario final?

E.g: Supongamos un sitio de compras que tiene muchos servicios de micro. Una vez que un usuario se autentica en una aplicación de microservicio, ese usuario debe poder acceder a otras aplicaciones de microservicio en ese sitio sin problemas.
Al igual que la aplicación de carrito, la aplicación de sugerencias / recomendaciones, la aplicación de búsqueda, etc.

  1. ¿Cómo implementar este tipo de autorización / autenticación?
  2. ¿Encajarán Oauth, SAML en estos escenarios?
pregunta user1222729 19.07.2015 - 11:43
fuente

1 respuesta

1

Esto suena diferente de lo que he oído anteriormente. Mi entendimiento de una arquitectura de microservicio típica es que tendrías una variedad de microservicios de grano fino, compuestas en una o más aplicaciones de grano grueso.

En esa vista, probablemente tendría una única aplicación web de comercio electrónico, que utiliza una variedad de microservicios en el backend (el servicio de carrito, servicio de sugerencias, servicio de búsqueda, etc.).

Si ese es el caso, entonces solo hay una "aplicación" con la que el usuario interactúa: la aplicación web. El usuario iniciará sesión en la aplicación web y luego la identificación del usuario se enviará a los diversos servicios de fondo.

Si la aplicación web se comunica con los servicios de back-end a través de una interfaz privada, simplemente puede pasar la ID de usuario directamente. No es realmente diferente a pasar, por ejemplo, una ID de usuario a una consulta de base de datos. Si tienes una interfaz pública que estás usando, entonces es posible que tengas que pasar algo así como una clave de sesión, aunque eso dependerá de qué tipo de interfaz pública tengas.

Nota: todo esto supone que estás hablando de una arquitectura de microservicio del lado del servidor, ya que citas la lista de "rieles" como una tecnología relacionada, pero no nada específicamente del lado del cliente. El uso de API web sobre Ajax es algo que yo consideraría un tema aparte.

    
respondido por el Ethan Kaminski 19.07.2015 - 13:05
fuente

Lea otras preguntas en las etiquetas