2017-10-18 2 views
0

나는 .. 나는 mod_auth_openidc하고 아래의 코드를 사용하고 내 공급자 로그인 페이지와 같은 google, gluu 등으로 권한이없는 사용자를 리디렉션 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> 

이제이 구성을 사용하면 문제가 없습니다. 내 사이트를 입력하면 아파치가 나를 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 = [urlencoded를 쿼리 문자열]

잘못된 것이 있습니까? 나는 동적 전달할 수있는 방법 acr_valuesui_locales은 그래서 아파치는이 쿼리와 인증 요청이 명시 적으로하여 OIDCRedirectURI을 리디렉션하여 참으로 인증 요청을 트리거하고 target_link_uriiss와 함께 auth_request_params 매개 변수를 제공 할 수

답변

0

매개 변수 생성합니다. 예 :

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

의 비교적 최신 버전을 사용해야하는 단일 공급 업체 OU와 함께 사용하는 경우