2017-10-18 26 views
0

私は..私はmod_auth_openidc、以下のコードを使用しています私のプロバイダのログインページなどgooglegluuおよびなどへの不正なユーザーをリダイレクトするためにapache2サーバを設定したい私のdefault-ssl.confファイルをスニペットこんにちは動的なクエリパラメータ

<IfModule mod_ssl.c> 
    <VirtualHost _default_:8443> 
     OIDCProviderMetadataURL https://<my_provider>/.well-known/openid-configuration 
     OIDCClientID <client_code> 
     OIDCClientSecret <client_secret> 
     OIDCRedirectURI https://<my_site>:8443/cgi-bin/ 
     #OIDCAuthRequestParams acr_values=auth_request_params 
     OIDCResponseType code 
     OIDCScope "openid profile email" 
     OIDCSSLValidateServer Off 
     OIDCCryptoPassphrase 123456 
     OIDCPassClaimsAs environment 
     OIDCClaimPrefix USERINFO_ 
     OIDCPassIDTokenAs payload 
     <Location "/"> 
      Require valid-user 
      AuthType openid-connect 
     </Location> 


     ServerAdmin [email protected] 

     DocumentRoot /var/www/html 

     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 

     SSLEngine on 

     SSLCertificateFile /etc/apache2/ssl/apache.crt 
     SSLCertificateKeyFile /etc/apache2/ssl/apache.key 

     <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
       SSLOptions +StdEnvVars 
     </FilesMatch> 
     <Directory /usr/lib/cgi-bin> 
       SSLOptions +StdEnvVars 
     </Directory> 
    </VirtualHost> 
</IfModule> 

これで、eveythingは正常です。私のサイトに入ると、apacheは私をOPログインページにリダイレクトします。私は3種類の認証機構を持っており、プロバイダはどのログインページをロードする必要があるのか​​を、acr_valuesと表示言語はui_locales paramから要求に応じて決定しています。これを行うには、このパラメータをauth requset urlに渡す必要があります。しかし、mod_auth_openidcで私はできませんでした。私はOIDCAuthRequestParamsを静的に設定することができますが、これは私の問題を解決しません。なぜならログインメカニズムと言語はユーザーの選択に依存するからです。

私はthis documentationを読み、以下のリンクを使用します。しかし、それは動作しません。私は何かを誤解しているかもしれません。

[my_site]?target_link_uri = [my_site/mypage.html] & ISS = [my_provider] & auth_request_params = [URLエンコード-クエリ文字列]

が間違っていることはありますか?どのように私は、動的acr_valuesui_localesを渡すことができますので、apacheのは、これらのクエリを使用して認証要求を生成

答えて

0

パラメータは、明示的OIDCRedirectURIをリダイレクトすることによって、実際に認証要求をトリガし、target_link_uriissと一緒auth_request_paramsパラメータを提供することができます。例えば。

https://<my_site>:8443/cgi-bin/?target_link_uri=[my_site/mypage.html]&iss=[my_provider]&auth_request_params=acr_values%3Dsome_acr%26ui_locales%3Den 

あなたは、単一のプロバイダのOUとそれを使用している2.3.0

> = mod_auth_openidcの比較的最近のバージョンを使用する必要があります
関連する問題