es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Spring Cloud Gateway + Nginx + Keycloak Puerta de enlace de Spring Cloud + Nginx + Keycloak

Implemento una aplicación móvil y quiero utilizar OIDC. Debido a esto, intento definir la arquitectura correcta y tengo dudas sobre cuál escenario es el correcto.

Escenario A: Nginx mantiene los certificados SSL y sólo es un proxy inverso. La aplicación móvil muestra una página de inicio de sesión personalizada de Keycloak, obtiene un token, y luego llama a las APIs con este token. Spring Gateway lo valida con Keycloak y pasa o no. Este escenario simplifica la conexión https entre la aplicación y los backends.

Escenario B: Spring Cloud Gateway mantiene los certificados SSL y es un proxy inverso para la página de inicio de sesión de Keycloak y Gateway para microservicios que validan paralelamente el token de acceso con Keycloak para las solicitudes de API.

El escenario A me parece mejor ya que Nginx se encarga del SSL y puedo ocultar el resto detrás de él. En un futuro, cuando agregue (MVP2) una página web, también podré servir contenido estático a través de esta capa con otra ubicación. No puedo encontrar información si Spring Cloud Gateway debería utilizarse para contenido estático (página de inicio de sesión de KeyCloak y/o SPAs).

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basándose en el diagrama proporcionado y en los requisitos dados, el Escenario A parece ser la mejor opción.

    En el Escenario A, Nginx se encarga de SSL y actúa como proxy inverso, lo que simplifica la conexión https entre la aplicación móvil y los backends. La aplicación móvil puede mostrar la página de inicio de sesión personalizada de Keycloak, obtener un token y llamar a APIs con este token. Luego, Spring Gateway valida el token con Keycloak y aprueba o rechaza la solicitud. Este escenario es más adecuado si se va a agregar una futura página web MVP2, ya que el contenido estático puede ser servido a través de esta capa con otra ubicación.

    Por otro lado, el Escenario B implica que Spring Cloud Gateway mantenga los certificados SSL, actúe como proxy inverso para la página de inicio de sesión de Keycloak y sea una puerta de enlace para microservicios que validen paralelamente los tokens de acceso con Keycloak para solicitudes de API. Si bien este escenario también es viable, no es tan sencillo y no se dispone de información sobre si Spring Cloud Gateway debe usarse para contenido estático (página de inicio de sesión de Keycloak y/o SPAs).

    En general, parece que el Escenario A es el más adecuado para implementar OIDC en la aplicación móvil.

Comments are closed.