Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Начиная с версии 1.6.3231 WNAM поддерживает идентификацию функцию идентификации (авторизациюавторизации) пользователей Wi-Fi при помощи учетной записи (идентификатора) сервиса Яндекс. 

Warning

Внимание! Данный способ идентификации формально не входит в список, обозначенный в требованиях законодательства РФ. Однако ваша организация на свой страх и риск может допустить Поэтому организация, использующая данный метод авторизации, самостоятельно несет ответственность за применение данного способа.

Авторизация через Яндекс 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

Необходимо указать полные имена или адреса сервера WNAM

...

с указанием портов, так чтобы пользователь Wi-Fi имел к ним доступ

...

. Следует ориентироваться на

...

формат, который

...

применяется при настройке перенаправления пользователя (редиректа) на портал WNAM

...

.

3. Получите Получить ClientID и Client secret:

4. В настройке вашего хотспота точки подключения (хот-спота) (роутер Микротик, параметр free-rule, ACL на контроллере БЛВС) разрешите разрешить доступ к ресурсам серверов Яндекс, доступным до окончания авторизации абонента, там где вы разрешали его достуцп ранее был разрешен его доступ до самого сервера WNAM. Вы должны Для этого необходимо добавить доступы до следующих ресурсов:

  • oauth.yandex.ru порт 443
  • passport.yandex.ru порт 443

Например:

Если ваш хотспот не умеет используемый хот-спот не имеет возможности работать с DNS-именами, значит вам то в таком случае придется вручную выяснить, какие IP-адреса скрываются за этими именами у вас, . IP-адреса необходимо вписать в ACL/правило эти адреса или их подсеть, и поддерживать эти правила актуальными в дальнейшемДанные правила следует постоянно поддерживать в актуальном состоянии.

5. Настройте Настроить интеграцию WNAM и Яндекс ID. Перейдите Для этого следует перейти в раздел "Конфигурация - " → "Гостевая авторизация" → "Внешние OAuth системы" , вкладка на вкладку "Yandex" , и укажите указать в ней ключи приложения и URL возврата:

6. Попробуйте Попытаться выполнить тестовый запрос, для чего перейдите . Для этого следует перейти по ссылке http://адрес_вашего_сервера/wnam/auth_test ,   и нажмите там нажать кнопку "Auth in Yandex". Если все настроено верно, вас отправит корректно,пользователь будет отправлен на страницу авторизации Яндекса, а затем вернет направлен на WNAM, показав предоставив данные авторизованного пользователя WNAM.


...

При этом в

...

лог-файле

...

wnam.log

...

будет отображена следующая запись:

17:19:06.408 DEBUG [AuthController.java:358] - Request yandex code 4769692
17:19:06.597 DEBUG [YandexService.java:140] - Yandex token Token{accessToken='...', expires=31536000, tokenType='bearer', refreshToken='1:...', error='null', errorDescription='null'}
17:19:06.663 INFO [YandexService.java:152] - Response: {"id": "...", "login": "...", "client_id": "...", "display_name": "...", "real_name": "...", "first_name": "...", "last_name": "...", "sex": null, "default_email": "...", "emails": ["..."], "birthday": "...", "psuid": "..."}
17:19:06.700 DEBUG [YandexService.java:156] - Response: YaUser{name='...', sex='null', realName='...', id=..., bdate='...', email='...'}

Если тестовый запрос успешенвыполнен успешно, можно настраивать гостевую авторизациюто можно перейти к настройке гостевой авторизации.

7. Произвести настройку гостевой авторизации. Авторизация через Яндекс ID совместима с любым "основным" методом авторизации WNAM (СМС, звонок, ваучер, гостиничная система). Для её включения необходимо лишь разместить дополнительную кнопку на странице любого существующего и используемого у вас метода. Для этого в в  разделе "Конфигурация" → "Гостевая авторизация" → "Конструкторе страниц" нужной страницы необходимо включить один чекбокс. Больше ничего настраивать не требуетсявыбрать нужную страницу и в режиме редактирования включить установить флажок "Вход через Яндекс ID" и сохранить настройки..

8. Успешно авторизованный по Яндекс ID абонент виден в таблице пользователей со всеми полученными его учетными даннымиПроверить работоспособность авторизации посредством аккаунта Яндекс ID. Для этого следует перейти в раздел "Пользователи" и выбрать в таблице пользователей абонента, успешно прошедшего регистрацию по Яндекс ID. Все полученные учетные данные абонента будут отображены в "Параметрах записи о пользователе":