- place your app behind a load balancer.
- configure config.php
$cas_real_hosts = array('cas-real-1.example.com', 'cas-real-2.example.com');
- login to your app
- in a separate browser tab visit: https://your.cas-server.com/cas/logout
- go back to your app and refresh the page
- The app is still logged in... should not be
I suspect this is due to Client.php
$client_ip = $_SERVER['REMOTE_ADDR'];
which if your app is behind a load balancer, will return the load balancer's IP instead of the end user's ip. Instead, Client.php should check all the x-forwarded-for, etc. headers and try to find the real IP address. for example: https://stackoverflow.com/questions/44085102/php-most-accurate-safe-way-to-get-real-user-ip-address-in-2017
see also, https://groups.google.com/a/apereo.org/forum/#!topic/cas-user/Wte7lwmYkkc
$cas_real_hosts = array('cas-real-1.example.com', 'cas-real-2.example.com');I suspect this is due to Client.php
$client_ip = $_SERVER['REMOTE_ADDR'];which if your app is behind a load balancer, will return the load balancer's IP instead of the end user's ip. Instead, Client.php should check all the x-forwarded-for, etc. headers and try to find the real IP address. for example: https://stackoverflow.com/questions/44085102/php-most-accurate-safe-way-to-get-real-user-ip-address-in-2017
see also, https://groups.google.com/a/apereo.org/forum/#!topic/cas-user/Wte7lwmYkkc