Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#811 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
kubernetes, rust

調査の方向性

まず issue 810 と 809 を確認し、その後 Apache NiFi の issue NIFI-7246 を読んで upstream の制約を把握します。現在 issuer がどのように生成されているか、また再起動後も保持されるかを追跡します。クラスタ全体で 1 つの issuer が使用され、正常なメンバーであれば有効な JWT を受け入れられる状態になれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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?
主要言語
Rust
スター
48
フォーク
12
平均マージ
1日 11時間
マージ済み PR(30日)
11

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

stackabletech/nifi-operator のほかの issue

stackabletech/nifi-operator の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。