UniFi External Captive Portal — Мобильный WiFi отключается при аутентификации

Я создал внешний портал авторизации на контроллере UniFi (v5.4.11) и успешно авторизовал устройства с помощью этой библиотеки:

https://github.com/malle-pietje/UniFi-API-browser

Однако, когда мой PHP-код отправляет команду authorize_guest($mac, $duration), Wi-Fi для рассматриваемого мобильного устройства фактически отключается.

Насколько я могу судить, это происходит как на Android, так и на iOS.

Вот код, который я использую:

 $controlleruser = $CFG->unifi_user;
$controllerpassword = $CFG->unifi_pass;
$controllerurl = 'https://'.$server.':'.$CFG->unifi_port;
$controllerversion = '5.4.11';
$cookietimeout = '3600';
$theme = 'bootstrap';
$debug = false;
$duration = $CFG->unifi_minutes;
$note = '';
$site_id = 'default';

require_once('class.unifi.php');

$unifidata      = new unifiapi($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion);
$set_debug_mode = $unifidata->set_debug($debug);
$loginresults   = $unifidata->login();
/**
 * To add note to a new device we need to do the following before authorizing the device:
 * - first block the device to get an entry in the user collection
 * - get the device id from the user collection
 * - add note to the device
 * - then unblock the device again
 */
$block_result   = $unifidata->block_sta($mac);
$getid_result   = $unifidata->stat_client($mac);
$user_id        = $getid_result[0]->_id;
$note_result    = $unifidata->set_sta_note($user_id, $note);
$unblock_result = $unifidata->unblock_sta($mac);
/**
 * then we authorize the device for the requested duration
 */
$auth_result = $unifidata->authorize_guest($mac, $duration);
/**
 * provide feedback in json format
 */
return $auth_result;

person mbassan    schedule 26.04.2017    source источник


Ответы (1)


Создатель репо ответил мне. Несколько строк были лишними. Рабочий код выглядит так:

$unifidata      = new unifiapi($controlleruser, $controllerpassword, $controllerurl, $site_id, $controllerversion);
$set_debug_mode = $unifidata->set_debug($debug);
$loginresults   = $unifidata->login();

$auth_result = $unifidata->authorize_guest($mac, $duration);
return $auth_result;
person mbassan    schedule 26.04.2017