Начиная с версии 1.6.3231 WNAM поддерживает идентификацию (авторизацию) пользователей Wi-Fi при помощи учетной записи (идентификатора) Яндекс.
Внимание! Данный способ идентификации формально не входит в список, обозначенный в требованиях законодательства. Однако ваша организация на свой страх и риск может допустить применение данного способа.
Авторизация через Яндекс ID функционирует так же, как и с любой другой, использующей OAuth2 метод системой, например порталом "Госуслуги". Общая схема взаимодействия такова:
- Администратор системы WNAM получает все необходимые токены доступа к Яндекс ID.
- Администратор системы WNAM настраивает безусловный доступ к серверам Яндекс ID для абонентов на стадии "до авторизации".
- Подключившийся не идентифицированный Wi-Fi абонент переводится на сервера Яндекс ID для проведения авторизации (логин/пароль/СМС/QR код и т.п.).
- По завершении авторизации сессия абонента возвращается на WNAM для показа реклами и т.п., и последующего допуска в Интернет.
- Параллельно при этом WNAM, пользуясь переданным токеном, запрашивает у серверов Яндекс данные по пользователю.
Для настройки этого метода вам необходимо выполнить следующие шаги.
1. Создание "приложения". Перейдите на https://oauth.yandex.ru, авторизуйтесь, нажмите на "+ создать приложение". Укажите название, доступ к трем параметрам:
• Доступ к дате рождения
• Доступ к адресу электронной почты
• Доступ к логину, имени и фамилии, полу
2. Укажите адрес возврата в WNAM в виде ссылок /wnam/yandex_auth и /cp/social/yandex:
http://172.16.130.5:8080/wnam/yandex_auth
http://172.16.130.5:8080/cp/social/yandex
(здесь вы должны указать полные имена или адреса сервера WNAM, с указанием портов, так чтобы пользователь Wi-Fi имел к ним доступ; ориентируйтесь на тот формат, который у вас применяется при настройке редиректа на портал WNAM).
3. Получите ClientID и Client secret:
4. В настройке вашего хотспота (роутер Микротик, параметр free-rule, ACL на контроллере БЛВС) разрешите доступ к ресурсам серверов Яндекс, доступным до окончания авторизации абонента, там где вы разрешали его достуцп до самого сервера WNAM. Вы должны добавить доступы до следующих ресурсов:
- oauth.yandex.ru порт 443
- passport.yandex.ru порт 443
Например:
Если ваш хотспот не умеет работать с DNS-именами, значит вам придется вручную выяснить, какие IP адреса скрываются за этими именами у вас, вписать в ACL/правило эти адреса или их подсеть, и поддерживать эти правила актуальными в дальнейшем.