나는 .. 나는 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_values
및 ui_locales
은 그래서 아파치는이 쿼리와 인증 요청이 명시 적으로하여 OIDCRedirectURI
을 리디렉션하여 참으로 인증 요청을 트리거하고 target_link_uri
및 iss
와 함께 auth_request_params
매개 변수를 제공 할 수