I'm aware of three ways to force a client to visit the captive portal page after they sign-in or click-through successfully:
- Time limit (as you know)
- Manually click 'Revoke' on the client detail page in Meraki dashboard
- Call the splashAuthorizationStatus API
I don't know of an automated solution to revoke the sign-in or click-through based on a client leaving an area of WiFi coverage.
I suppose you could use Meraki's Scanning API to monitor which devices are connected and call the splashAuthorizationStatus API when a device disappears for a set period of time.
You might also be able to use the /devices/[serial]/clients API with different values for timespan to try to figure out which devices were recently connected but are no longer in the area.
What's the reasoning behind forcing a client to re-login on each return visit and treating that differently from someone sitting in the store for a long period of time?