Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

230
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda