Template codice sorgente per Portale Web Esterno (Controller 4.1.5 o superiore)
La guida si applica a Omada Controller V4.1.5 o superiore
Per Omada Controller V3.1.4 o superiore, fare riferimento a FAQ2390
Per Omada Controller V3.0.5 o inferiore, fare riferimento a FAQ916
Il documento specifica i requisiti necessari per stabilire il collegamento con il server di un portale web esterno. Con Omada Controller un portale web esterno può essere utilizzato esclusivamente quando l'autenticazione tramite portale è impostata su External Radius Server.
Per comprendere meglio i requisiti necessari a stabilire un External Web Portal server, la seguente immagine illustra il workflow che intercorre tra client wireless, EAP, Omada Controller, Portale Web Esterno e Server Radius.
1.Quando un client wireless o cablato è connesso alla SSID del network Wi-Fi o LAN e prova ad accedere a Internet, L'EAP o il gateway intercettano la richiesta HTTP del client reindirizzandola al Controller Omada. (Step 1 e Step 2)
2.Il Controller Omada reindirizza la richiesta alla pagina del portale esterno dando una risposta HTTP con codice 302 Found to the client. (Step 3 and Step 4)
3. Il client invia richiesta HTTP/HTTPS GET al portale esterno con i parametri “?target=target_controller_ip&targetPort=target_controller_port&clientMac=client_mac&clientIp=client_ip&raidusServerIp=radius_server_ip&apMac=ap_mac&gatewayMac=gateway_mac&scheme=scheme&ssidName==ssid_name&radioId=radio_id(0 per 2.4G radio, 1 per 5G radio)&vid=vid&originUrl=redirecturl(se non imposti un URL di redirect, una volta effettuata l'autenticazione l'URL di default dipenderà dal client stesso)”.
Ad esempio: “https://www.externalportal.com/?target=172.30.30.113&targetPort=8088&clientMac=F8-1E-DF-AA-AA-AA&clientIP=172.30.30.103&raidusServerIp=172.30.30.120&apMac=AC-84-C6-BB-BB-BB&GatewayMac=172.30.0.1&scheme=https&ssidName=eap_test&radioId=1&originalUrl=https%3A%2F%2Fwww.tp-link.com” (Step 5)
4. Il server di un Portale Web Esterno dovrebbe essere in grado di ottenere i valori dei parametri clientMac, clientIp, apMac, gatewayMac, ssidName, radioId, vid, scheme, originUrl. Il Portale Web Esterno dovrebbe reindirizzare il client al Controller con le info di username, password, clientMac, clientIp, apMac, gatewayMac, ssidName, scheme, vid, radioId, originUrl. (Step 6)
5. Il Client invia i pacchetti HTTP/HTTPS POST a (http) https://target_controller_ip:targetport/portal/radius/auth con formato JSON nell'HTTP message body. Il “targetport” di default del portale è 8843 (Step7)
6.Il Controller Omada comunica con il server radius per verificare username e password. (Step 8 e Step 9)
7.Se l'autenticazione è avvenuta con successo, i.e., il radius server riceve notifica di Access-Accept, il Controller Omada reindirizzerà il client alla landing predefinita o alla pagina di default del client. (Step 10)
Note:
1. Durante lo step 7 il client invia al controller HTTP/HTTPS POST in quanto il Controller 4.1.5 (o superiore) non supporta HTTP/HTTPS GET in questa fase.
2. Se il tuo Controller (4.1.5 o superiore) è stato aggiornato da Controller 3.x.x, fai attenzione alla modifica della denominazione di alcuni parametri.
Nome(V3.x) |
Nome(V4.x) |
Tipo |
Nota |
clientMac |
clientMac |
string |
client MAC address |
clientIp |
clientIp |
string |
client IP address |
ap |
apMac |
string |
AP MAC address(only for ap) |
ssid |
ssidName |
string |
ssid name |
radioId |
radioId |
integer |
0: 2.4GHz, 1: 5GHz(only for ap) |
/ |
authType |
integer |
The actual authentication type, only supports External RADIUS and Hotspot RADIUS authentication methods. 2: External RADIUS; 8: Hotspot RADIUS |
redirectUrl |
originUrl |
string |
redirectUrl |
username |
username |
string |
authentication username |
password |
password |
string |
authentication password |
3. Nello step7, se il tuo rofm ono contiene caratteri non-ASCII (come nel caso di SSID in cinese o altre lingue), la codifica UTF-8 deve essere utilizzata per l'invio di HTTP/HTTPS POST al Controller.
Il seguente template html è una demo per sviluppare il tuo Portale Web Esterno compatibile con Omada Controller: