2017-10-18 192 views
0

你好,我想配置apache2服務器未經授權的用戶重定向到我的供應商登錄頁面,如googlegluu和等。我使用mod_auth_openidc和下面的代碼片斷我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> 

現在有了這個配置,一切都很好。當我進入我的網站時,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確實觸發認證請求,並提供auth_request_params參數與target_link_uriiss在一起。例如。

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 

當你使用它與單一供應商歐確實需要使用相對較新的mod_auth_openidc> = 2.3.0

版本