第5章 mod_auth_openidc Apache HTTPD モジュール
Red Hat build of Keycloak では、mod_auth_openidc に対する公式サポートは提供されません。以下の手順は最善を尽くしたものですが、最新の情報ではない可能性があります。詳細は、公式の mod_auth_openidc ドキュメントを参照することを推奨します。
mod_auth_openidc は、OpenID Connect 用の Apache HTTP プラグインです。言語/環境がプロキシーとしての Apache HTTPD の使用をサポートしている場合は、mod_auth_openidc を使用して、OpenID Connect で Web アプリケーションを保護できます。このモジュールの設定は、このドキュメントの範囲外です。設定の詳細は、mod_auth_openidc GitHub リポジトリーを参照してください。
mod_auth_openidc を設定するには、以下が必要です。
- client_id
- client_secret
- アプリケーションへの redirect_uri
- Red Hat build of Keycloak openid-configuration url
- mod_auth_openidc 固有の Apache HTTPD モジュール設定
設定例は次のようになります。
LoadModule auth_openidc_module modules/mod_auth_openidc.so ServerName ${HOSTIP} <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html #this is required by mod_auth_openidc OIDCCryptoPassphrase a-random-secret-used-by-apache-oidc-and-balancer OIDCProviderMetadataURL ${KC_ADDR}/realms/${KC_REALM}/.well-known/openid-configuration OIDCClientID ${CLIENT_ID} OIDCClientSecret ${CLIENT_SECRET} OIDCRedirectURI http://${HOSTIP}/${CLIENT_APP_NAME}/redirect_uri # maps the preferred_username claim to the REMOTE_USER environment variable OIDCRemoteUserClaim preferred_username <Location /${CLIENT_APP_NAME}/> AuthType openid-connect Require valid-user </Location> </VirtualHost>
LoadModule auth_openidc_module modules/mod_auth_openidc.so
ServerName ${HOSTIP}
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
#this is required by mod_auth_openidc
OIDCCryptoPassphrase a-random-secret-used-by-apache-oidc-and-balancer
OIDCProviderMetadataURL ${KC_ADDR}/realms/${KC_REALM}/.well-known/openid-configuration
OIDCClientID ${CLIENT_ID}
OIDCClientSecret ${CLIENT_SECRET}
OIDCRedirectURI http://${HOSTIP}/${CLIENT_APP_NAME}/redirect_uri
# maps the preferred_username claim to the REMOTE_USER environment variable
OIDCRemoteUserClaim preferred_username
<Location /${CLIENT_APP_NAME}/>
AuthType openid-connect
Require valid-user
</Location>
</VirtualHost>
mod_auth_openidc の設定方法の詳細は、mod_auth_openidc プロジェクトページを参照してください。