Обработка события проверки подлинности хот-спота
Windows 8, Windows 8.1 и Windows 10 активировать событие проверки подлинности хот-спота при обнаружении неописуемого портала, поддерживающего роуминг поставщика услуг Беспроводного Интернета (WISPr).
При возникновении события принимающее приложение должно немедленно вызвать функцию Windows.Networking.NetworkOperator.HotspotAuthentication.TryGetAuthenticationContext , используя маркер события, предоставленный в качестве аргумента обработчику событий. Эта функция возвращает объект, который управляет попыткой проверки подлинности хот-спота. В случае сбоя функции обработчик событий должен выйти, не выполняя никаких дополнительных действий.
Свойства объекта позволяют приложению получать следующие элементы:
SSID беспроводной сети.
Сведения о сетевом адаптере, подключенном к хот-споту.
URL-адрес, содержащий сообщение WISPr.
Полезные данные XML сообщения WISPr.
URL-адрес проверки подлинности, на который предоставляются учетные данные.
Существуют и другие API для получения следующих элементов:
BSSID беспроводной сети (см . пространство имен Windows.Networking.Connectivity).
Параметры DHCP сети (см . Раздел Win32 и COM для приложений UWP).
Используя эти сведения и любые другие сведения, которые приложение должно получить из локальной системы или сети, можно создать учетные данные. Объект также содержит методы, позволяющие приложению продолжить или завершить проверку подлинности хот-спота.
В этом разделе доступны следующие разделы:
Выдача учетных данных
В простейшем случае приложение создает учетные данные на основе сведений, которые оно имеет или может получить. Например, имя пользователя и пароль создаются с помощью сведений в полезных данных WISPr и сведений о сетевом адаптере.
После выполнения действий, необходимых для создания или получения учетных данных, приложение вызывает метод IssueCredentials в объекте HotspotAuthenticationContext . Этот метод позволяет приложению предоставлять следующие компоненты:
Параметр ИМЕНИ пользователя WISPr
Параметр пароля WISPr
Произвольные нестандартные параметры для включения в ответ WISPr
Поведение при сбое
Если сервер отклоняет учетные данные, предоставленные приложением, Windows отключается от сети и не повторяет попытку подключения в текущем сеансе пользователя. Последний флаг позволяет приложению указать, что в случае неудачных учетных данных Windows никогда не должна автоматически повторять подключение с помощью этого профиля.
Существует два варианта этого API. Метод IssueCredentials передает параметры в Windows, а затем возвращает их мгновенно. Этот API не предоставляет результат попытки проверки подлинности. Метод IssueCredentialsAsync, представленный в Windows 8.1, является асинхронной версией, которая позволяет приложениям получать результат попытки проверки подлинности.
Прерывание проверки подлинности
Если приложение обнаруживает, что оно не может создать учетные данные для текущей сети (поскольку соглашения о роуминге изменились, информация недоступна или по другой причине), оно должно вызвать метод AbortAuthentication для объекта HotspotAuthenticationContext .
Windows отключается от сети и не повторно прервет подключение в текущем сеансе пользователя. Эта функция принимает флаг, указывающий, что Windows никогда не должна автоматически повторять попытку подключения с помощью этого профиля.
Примечание Этот метод не удаляет профиль из системы, и приложение может снова запросить учетные данные, если пользователь попытается подключиться к сети вручную. Если профиль полностью удален, приложение должно предоставить новый файл подготовки, который удаляет связанный профиль.
Использование альтернативных методов проверки подлинности
Если приложение может пройти проверку подлинности с помощью метода, отличного от WISPr, оно может сделать это. После успешной проверки подлинности в сети с помощью альтернативного метода необходимо завершить подключение, вызвав метод SkipAuthentication для объекта HotspotAuthenticationContext . При вызове этого метода Windows повторно обнаруживает подключение к Интернету, тем самым помогая пользовательскому интерфейсу правильно отражать состояние проверки подлинности.
Примечание Событие HotspotAuthentication не вызывается для хот-спотов, которые не объявляют поддержку протокола WISPr. Однако это позволяет приложению выбрать другой протокол для использования в ответ или использовать пользовательскую версию WISPr при необходимости.
Взаимодействие с пользователем
Если для продолжения проверки подлинности требуется взаимодействие с пользователем, приложение должно вызвать метод TriggerAttentionRequired для объекта HotspotAuthenticationContext . Этот метод полезен в следующих случаях:
Пользователь решил не хранить учетные данные в приложении и должен выполнить вход.
После завершения подключения будет взиматься кредитная карта пользователя или другая учетная запись, поэтому прежде чем продолжить, требуется согласие.
Кредит недоступен для учетной записи пользователя, и требуется новая покупка.
Этот метод не завершает проверку подлинности. При вызове этого метода приложение запрашивает открытие на переднем плане с помощью указанных аргументов. Маркер события должен быть передан приложению переднего плана, чтобы оно снова получите объект HotspotAuthenticationContext и завершило проверку подлинности с помощью одного из трех других методов.
Запрос приложения на открытие на переднем плане не гарантируется. Событие HotspotAuthentication может произойти из-за автоматического подключения, когда компьютер находится в режиме ожидания с подключением. Приложение запускается только в том случае, если компьютер больше не находится в режиме ожидания с подключением, был разблокирован и по-прежнему подключен к беспроводной сети. Так как это задерживает доступ к Интернету до тех пор, пока пользователь не разблокирует компьютер, этого состояния следует избегать при автоматическом создании учетных данных.