Это называется captive portal. Используются пинги к сервисам windows, apple, android и т.д. для определения изменен ли пакет (меняется ли IP при попытке получить другие URL адреса) и если меняется, то выдается окно. Я разрабатывал прошивку для сервиса townwifi.ru (WiFi авторизации через смс и соц сети), как раз делал с окном подтверждения и без него (редирект с первого обращения в браузере)