OpenID Connect IDプロバイダに対する認証を必要とするリバースプロキシを設定しようとしています。OpenIDで認証されたApache2リバースプロキシldapを介した接続と認証
ユーザは、自分のデータにリバースプロキシアクセスを許可します。
プロキシの背後にあるアプリケーションの中には、特定のLDAPグループのメンバーである場合にのみ、ユーザーがアクセスできるものがあります。悲しいことに、アプリケーションはダンプであり、自分自身を認証することはできないため、リバースプロキシはその部分を処理する必要があります。
mod_auth_openidcで認証部分を設定するのはあまり難しくありませんでした。 私が苦労しているのは、承認部です。私はmod_authnz_ldapの実例を持っており、ユーザ名とパスワードはBasicAuth以上が必要です。
OpenID Connectのアイデアは、Resource Server(私の場合はプロキシ)がユーザーのパスワードを知らず、チェックする必要がないということです。これはOpenID Connect Identity Providerに委任されています。
私はこの方法に必要なパスワードがありません。私の考えは、クライアントからのx-my-oidc-username
のようなヘッダーを拒否するoidc authを持つ仮想ホストを作成し、一度認証されたこのヘッダーを設定し、127.0.0.1
上の別のvhostバインドに要求を渡すので、認証を直接バイパスすることはできません。その仮想ホストはヘッダを認証されたユーザ名として受け取り、LDAP認証を実行します。
私はちょうどldapモジュールのAuthentication Phaseをスキップして、OpenID Connect IDトークンのようなどこか他の場所からユーザー名を取得する方法を見たことがありません。
アイデア/提案/アプローチ/ヒントはありますか?