Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Fix: Use a common JWT issuer across the whole NiFi 2 cluster

Abierto
#811 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
kubernetes, rust

Línea de trabajo

Revisa primero los issues 810 y 809 y, después, lee el issue NIFI-7246 de Apache NiFi para conocer las restricciones del upstream. Rastrea cómo se genera actualmente el issuer y si persiste entre reinicios; se considera terminado cuando se utiliza un issuer para todo el clúster y cualquier miembro saludable acepta un JWT válido.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

size/M type/security

Part of https://github.com/stackabletech/nifi-operator/issues/809.

[!CAUTION]
Depends on https://github.com/stackabletech/nifi-operator/issues/810.

Technically it could be done, but it is likely to be rejected upstream as it appears to have been done to avoid connecting to the wrong server.

Current state

In NiFi2, JWT tokens are issued for specific nodes, and the current recommendation is to use sticky-sessions on load balancers.

NIFI-7246
The uniqueness of JWT-generating keys to individual nodes (and thus the lack of transitivity of tokens between nodes) is by design. The solution is to enable sticky sessions in the load balancer.

This is rather unusual when dealing with a "cluster" where any healthy member should be able to service requests with the same answer as any other, and using the same authentication token.

JWT tokens are by design stateless, they contain everything they need to be validated without sticky-sessions or server-side shared session stores.

Example claim showing the issuer for a specific cluster member.

{
  "aud": "https://simple-nifi-node-default-0.simple-nifi-node-default.default.svc.cluster.local:8443",
  "exp": 1747013821,
  "groups": [],
  "iat": 1746985021,
  "iss": "https://simple-nifi-node-default-0.simple-nifi-node-default.default.svc.cluster.local:8443",
  "jti": "ad20e97e-5f60-4404-87a5-bcd8b3093746",
  "nbf": 1746985021,
  "preferred_username": "admin",
  "sub": "admin"
}

Future state

  • There should be a common issuer for the cluster so that a JWT token can be used on any cluster node.
  • Any healthy cluster member should accept a valid JWT token in the same way any other cluster member would.

Unknowns

  • How is the issuer currently generated? Does it persist across restarts?
Lenguaje dominante
Rust
Estrellas
48
Forks
12
Merge medio
1 d 15 h
PR fusionados (30 d)
14

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de stackabletech/nifi-operator

Todos los issues de stackabletech/nifi-operator

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.