Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

232
Vistas
Autenticación con Kong

Estoy buscando a Kong para reemplazar mi puerta de enlace API NodeJS manual actual. Actualmente tengo un servicio de usuario que maneja la autenticación (escrito en Django) al proporcionar un JWT al iniciar sesión, que luego el cliente pasa a través de un encabezado. Mi puerta de enlace API actual luego intercepta cualquier llamada, realiza una llamada de validación al servicio de usuario y reemplaza el encabezado JWT con X-User-Id y X-User-Email .

Por lo que sé, Kong puede hacer más o menos lo mismo. Estoy tratando de averiguar el flujo de cómo debería funcionar esto en un mundo perfecto . Todavía tengo la oportunidad de reemplazar gran parte de la infraestructura, por lo que reescribir algunos servicios no está completamente descartado.

Entonces, en mi opinión, lo que sucedería es lo siguiente:

  1. El usuario se registra en mi sitio. Luego creo un nuevo consumidor con su nombre de usuario/id en Kong
  2. El usuario inicia sesión. Aquí es donde me quedo atascado. ¿Inicio de sesión (o en este caso, simplemente autentico al usuario como dicho usuario), le pido a Kong el JWT para este consumidor y lo devuelvo? ¿Qué sucede si quisiera más datos en la carga útil del JWT? ¿Qué sucede del lado de Kong cuando expira el JWT?
  3. Cuando el usuario solicita un servicio, Kong detectará el JWT de los encabezados, lo reemplazará con X-Consumer-* , ¿es correcto?

Corríjame si mi forma de pensar es incorrecta o si hay una mejor manera de lograrlo. Soy bastante nuevo en todo el asunto de los microservicios.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Estoy trabajando en una configuración similar y estos son mis hallazgos/conclusiones en este momento:

El registro de usuario tiene que ser de la manera que usted describe.

Al iniciar sesión, creo que hay dos formas posibles de resolver esto:

  1. Guarde el consumer_id en su base de datos de usuario,
  2. Almacene la clave jwt y el secreto en su base de datos de usuario.

En el escenario 1, deberá obtener la clave jwt y el secreto de kong y generar un token jwt y usar este token para realizar solicitudes a sus servicios kong.

El escenario 2 es prácticamente idéntico al escenario 1, excepto que no tiene que hacer ninguna solicitud a kong para generar un token jwt.

Puede agregar parámetros de carga útil adicionales al token jwt, pero estos no se transmiten a sus servicios ascendentes. Sin embargo, parece que este complemento resuelve este problema (aún no lo he probado):

https://github.com/wshirey/kong-plugin-jwt-claims-headers

Kong pasa el custom_id y el nombre de usuario del consumidor de jwt al servicio de upstream previa autorización, así:

 x-consumer-custom-id: [245] x-consumer-username: ['my-test-user'] x-consumer-id: ['1e9e25dd-396f-4195-94fc-f2a8bd8447a2']

También pasa todo el encabezado de autorización.

about 4 years ago · Santiago Trujillo Denunciar

0

Configuré Kong usando el complemento openId para administrar el proceso de autenticación. El principal problema que encontré es que la versión actualizada del complemento solo está disponible en Kong Enterprise. Curiosamente, este complemento usa bibliotecas comunitarias, de Lua resty, por lo que puede implementar el mismo flujo de OpenID utilizando bibliotecas de código abierto.

Escribí un artículo sobre cómo funciona este flujo aquí

Además, si necesita un ejemplo práctico, consulte este repositorio .

about 4 years ago · Santiago Trujillo Denunciar

0

Puede desarrollar y usar un complemento personalizado de kong que intercepte llamadas a su servicio de autenticación.

https://konghq.com/blog/custom-authentication-and-authorization-framework-with-kong/

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda