问题描述
我们已在连接到Okta OIDC的Apache服务器中使用mod auth openidc模块。 登录到okta后,我们将获得多个重定向,重新回到重定向,然后再次回到okta。 类似于以下问题:
如本期所述。 https://github.com/zmartzone/mod_auth_openidc/issues/181
我已确保redirect_uri与实际的网址页面加载网址分开
My set up is exactly as below with a vanity redirection url which is protected
# OIDCRedirectURI is a vanity URL that must point to a path protected by this module but must NOT
point to any content
OIDCRedirectURI https://www.example.com/example/redirect_uri
OIDCCryptoPassphrase <password>
<Location /example/>
AuthType openid-connect
Require valid-user
ProxyPass backendangular/
ProxyPassReverse backendangular/
</Location>
解决方法
启用粘性会话
当拥有两个带有负载均衡器的apache后端服务器时,我们面临着连续循环重定向的类似挑战。
Load Balancer配置了Round Robin,第一台服务器进行了验证,但是下一个请求转到了另一个服务器,该服务器再次称为authenticatio。
我们修复了在负载均衡器上启用粘性会话的问题
,我们在Apache服务器之前安装了CDN。 CDN正在缓存所有内容,因此cookie设置不正确。 CDN尊重所有标头,例如Apache的nocache标头参数。
不添加如下所示的缓存头即可解决此问题。
filesMatch "\.(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0,no-cache,no-store,must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed,11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>