Начиная с Android 11 Beta 2, система поддерживает подмножество функций, описанных в RFC7710bis , и связанный с ним API портала аутентификации .
API обеспечивает надежный способ для точек доступа идентифицировать себя как порталы захвата. Он также позволяет новым вариантам использования точек доступа публиковать информацию для своих пользователей, например, информацию о сеансе и месте проведения.
Улучшенное обнаружение портала захвата
Начиная с Android 5.0 (уровень API 21) устройства Android обнаруживали порталы захвата и уведомляли пользователя о необходимости входа в сеть для доступа в Интернет. Порталы захвата обнаруживались с помощью HTTP-проб открытого текста в известные пункты назначения (например, connectivitycheck.gstatic.com
), и если проба получала перенаправление HTTP, устройство предполагало, что сеть является порталом захвата. Этот метод может быть ненадежным, поскольку нет стандартного URL для проверки, и такие пробы могут быть ошибочно разрешены или заблокированы (вместо перенаправления) сетями порталов захвата. API позволяет порталам предоставлять положительный сигнал о необходимости входа в систему вместе с URL для входа.
Android 11 поддерживает DHCP-опцию 114, как описано в RFC7710bis. Мы можем добавить поддержку опции объявления маршрутизатора в будущем обновлении. Если устройство получает URL-адрес API портала захвата через эту опцию во время DHCP-рукопожатия, устройства извлекают содержимое API сразу после подключения и предлагают пользователям войти в систему, если сеть является захватной, согласно API портала захвата.
Если API недоступен или портал не объявлен, система продолжит обнаруживать порталы и проверять подключение к Интернету с помощью HTTP/HTTPS-зондов, как и раньше.
Информация, опубликованная на месте проведения
Android 11 поддерживает venue-info-url
определенный в API портала Captive. Этот URL позволяет пользователям получать контекстно-зависимую информацию о точке доступа venue в своем браузере. По умолчанию пользователи могут открыть этот URL, если они захотят сделать это из уведомления после входа в систему или из своих сетевых настроек.
Рисунок 1. Если сеть предоставляет URL-адрес места проведения мероприятия, система выводит всплывающее уведомление, позволяющее пользователю посетить эту страницу.
Рисунок 2. Кнопка открытия сайта с экрана сведений о сети
Будущие варианты использования
Хотя на момент запуска Android 11 поддерживает только базовый набор функций API портала Captive, новые функции могут быть предоставлены устройствам через обновления системы Google Play после запуска. Мы призываем операторов сетей внедрять API портала Captive, учитывая возможные будущие улучшения:
- Время сеанса (
seconds-remaining
) в настоящее время используется в приложении «Настройки» по умолчанию для информирования пользователей о том, сколько времени осталось на портале. Возможность продлить сеанс через URL-адрес входа (can-extend-session
) также может быть выражена через API, чтобы позволить системе уведомлять пользователя об истекших или скоро истекающих сеансах. - Ограничения по объему данных (
bytes-remaining
) можно объявить через API, чтобы пользователи могли отслеживать оставшиеся данные.