3

サービスの前に Keycloak Gatekeeper をリバース プロキシとして設定しようとしていますが、redirection-url. サービスがauthn/zについて何も知らなくても、ゲートキーパーをサービスの前に置くことができると考えました。コールバック エンドポイントが必要な場合、これは不可能のようです。

Keycloak サーバー、Keycloak Gatekeeper、および単純なノード サービス (すべてローカルの Docker コンテナーにデプロイされています) をデプロイすることができました。hosts ファイルを少しハッキングして、Gatekeeper にリクエストを送信することができました。これにより、適切に認証され、ノード サービスにリダイレクトされました。ただし、/oauth/callbackゲートキーパーがredirection-url.

私のゲートキーパーの設定は次のようになります。

discovery-url: http://keycloak-server:8080/auth/realms/master
client-id: proxy-node-server
client-secret: abcabcab-abca-abca-abca-abcabcabcabc
listen: ':3001'
enable-refresh-tokens: true
redirection-url: http://node-server:3000
encryption-key: <ENCRYPTION_KEY>
upstream-url: http://node-server:3000
resources:
- uri: /*
secure-cookie: false

認証、承認、OIDC などの知識を持たないサービスの前に Gatekeeper を配置できると期待していますが、redirection-urlそれは不可能に思えます。

必要に応じてゲートキーパーに authnz を実行させ、ユーザーが適切に認証されたときに単純なプロキシとして機能させる方法はありますか? または、これが不可能な場所で理解できないことがありますか?

4

1 に答える 1

2

ゲートキーパーのヘルプ:

--redirection-url      value redirection url for the oauth callback url, defaults to host header is absent [$PROXY_REDIRECTION_URL]

を使用する必要があるのはredirection-url、ゲートキーパーがロードバランサーまたは別のリバース プロキシの背後にある場合のみです。これredirection-urlは、Open ID Connect フローに必要です。ユーザーが認証redirect-urlされると、もちろん適用されません。

于 2019-10-15T14:40:13.867 に答える