After authenticating the user in a captive portal, what should I return to the user so that the OS that launched the captive portal knows that the user can navigate now?
Redirect the user to any page and the OS will verify if it can already navigate. If it can, it will drop the captive portal page on Android and iOS and display a close button on Mac OS X.