authentication モジュール)が処理します。バックグラウンドジョブや別の Pod はありません。プロバイダー側(クライアント、リダイレクト URI、管理者クレーム)は Toolkit と同じなので、まず OIDC 認証 に従って OpenID プロバイダー(OP)を設定し、その値を以下の手順で Kubernetes に設定します。
各処理の実行場所
設定
1
OP に Overleaf を登録する
OVERLEAF_SITE_URL から組み立てた次のアドレスを OP で許可します。5 つの URL は、ディスカバリードキュメントで値を確認する の説明に従って OP のディスカバリードキュメントから確認できます。
2
3
クライアントシークレットを Secret に設定する
4
プライベート CA を信頼する(任意)
OP の証明書が独自の CA によるものである場合は、その CA を
/var/lib/overleaf/certs にマウントされる Secret overleaf-certs に追加し(証明書とその他のファイル を参照)、Node.js にそのパスを指定します。5
適用して再起動する
405)が返ればエンドポイントに到達できています。000 の場合は到達できていません。複数のレプリカ
追加の作業は不要です。ログインのstate 値とログアウトに使用する ID トークンは Redis 上のセッションに保持されるため、コールバックはどのレプリカが受け取っても機能します。
Kubernetes でのテスト結果
goauthentik を OP として使用し、Kubernetes 1.37 上で HAProxy の背後に 3 つのレプリカを配置した構成で、OIDC のエンドツーエンドテストに合格しました(35 ケース)。対象は、ログインと OP 経由のログアウト、グループ・メール・単一の値による管理者マッピングとマッピングなしの場合、ログインごとの名前と管理者フラグの更新、アカウントのリンクとリンク解除、OIDC アカウントのパスワードリセットとパスワード変更、停止されたアカウント、OVERLEAF_OIDC_ALLOWED_EMAIL_DOMAINS、OVERLEAF_DISABLE_LOCAL_LOGIN、そして OIDC とパブリックアクセスの併用です。
Q&A
ログインが失敗した理由はどこで確認できますか?
ログインが失敗した理由はどこで確認できますか?
回答:複数のレプリカがある場合は、各
kubectl logs ではなく、そのリクエストを処理した Pod の web ログで確認できます。overleaf-N を確認してください。
