2017-04-26 50 views
1

我已經使用這個庫中創建一個外部圈養門戶網站的UniFi控制器(v5.4.11)上,併成功授權設備的移動無線網絡斷開連接:的UniFi外部強制網絡門戶上驗證

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

然而,當我PHP代碼發送authorize_guest($ mac,$ duration)命令,實際上斷開連接的移動設備的WiFi。

據我所知,這發生在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; 

回答

0

回購的創造者回答了我。幾行是不必要的。工作代碼如下所示:

$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;