2017-09-05 11:48:35 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* PHP API usage example
|
|
|
|
*
|
|
|
|
* contributed by: Art of WiFi
|
2021-01-21 10:59:27 +01:00
|
|
|
* description: example PHP script to perform a basic auth of a guest device
|
2017-09-05 11:48:35 +02:00
|
|
|
*/
|
|
|
|
|
2017-09-05 13:04:11 +02:00
|
|
|
/**
|
|
|
|
* using the composer autoloader
|
|
|
|
*/
|
2021-01-21 10:59:27 +01:00
|
|
|
require_once 'vendor/autoload.php';
|
2017-09-05 13:04:11 +02:00
|
|
|
|
2017-09-05 11:48:35 +02:00
|
|
|
/**
|
|
|
|
* include the config file (place your credentials etc. there if not already present)
|
|
|
|
* see the config.template.php file for an example
|
|
|
|
*/
|
2021-01-21 10:59:27 +01:00
|
|
|
require_once 'config.php';
|
2017-09-05 11:48:35 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* the MAC address of the device to authorize
|
|
|
|
*/
|
|
|
|
$mac = '<enter MAC address of guest device to auth>';
|
|
|
|
|
2019-10-15 14:04:37 +02:00
|
|
|
/**
|
|
|
|
* the MAC address of the Access Point the guest is currently connected to, enter null (without quotes)
|
|
|
|
* if not known or unavailable
|
|
|
|
*
|
|
|
|
* NOTE:
|
|
|
|
* although the AP MAC address is not a required parameter for the authorize_guest() function,
|
|
|
|
* adding this parameter will speed up the initial authorization process
|
|
|
|
*/
|
|
|
|
$ap_mac = '<enter MAC address of Access Point>';
|
|
|
|
|
2017-09-05 11:48:35 +02:00
|
|
|
/**
|
|
|
|
* the duration to authorize the device for in minutes
|
|
|
|
*/
|
|
|
|
$duration = 2000;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The site to authorize the device with
|
|
|
|
*/
|
|
|
|
$site_id = '<enter your site id here>';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* initialize the UniFi API connection class and log in to the controller
|
|
|
|
*/
|
2023-12-18 11:11:27 +01:00
|
|
|
$unifi_connection = new UniFi_API\Client(
|
|
|
|
$controlleruser,
|
|
|
|
$controllerpassword,
|
|
|
|
$controllerurl,
|
|
|
|
$site_id,
|
|
|
|
$controllerversion
|
|
|
|
);
|
|
|
|
|
|
|
|
$set_debug_mode = $unifi_connection->set_debug($debug);
|
|
|
|
$loginresults = $unifi_connection->login();
|
2017-09-05 11:48:35 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* then we authorize the device for the requested duration
|
|
|
|
*/
|
2019-10-15 14:04:37 +02:00
|
|
|
$auth_result = $unifi_connection->authorize_guest($mac, $duration, null, null, null, $ap_mac);
|
2017-09-05 11:48:35 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* provide feedback in json format
|
|
|
|
*/
|
|
|
|
echo json_encode($auth_result, JSON_PRETTY_PRINT);
|