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.