Modèle de code source pour le portail Web externe (Controller 4.1.5 ou supérieur)

Knowledgebase
FAQ
Portal
11-09-2023
89

Convient pour Omada Controller 4.1.5 ou supérieur.

Pour Omada Controller 3.1.4 à 3.2.17, veuillez vous référer à la FAQ2390

Pour Omada Controller 3.0.5 ou version antérieure, veuillez vous référer à la FAQ916

 

Ce document décrit les exigences lors de l'établissement d'un serveur de portail Web externe. Dans Omada Controller, le portail Web externe ne peut être utilisé que lorsque le type d'authentification du portail est External Radius Server.

 

L'image ci-dessous représente le flux de travail entre le client sans fil, l'EAP, le contrôleur Omada, le portail Web externe et le serveur Radius. Il vous aidera à mieux comprendre les exigences liées à la création d'un serveur de portail Web externe.

https://static.tp-link.com/external_web_process_1595904297516s.png

 

1. Pour les clients sans fil et les clients câblés, lorsqu'ils sont connectés au SSID du réseau sans fil ou du réseau LAN câblé et tentent d'accéder à Internet, l'EAP ou la passerelle intercepte la requête HTTP du client puis la redirige vers le contrôleur Omada. (Étape 1 et étape 2)

2. Le contrôleur Omada redirige ensuite la demande du client vers la page du portail externe en répondant à une réponse HTTP avec le code d'état 302 Trouvé au client. (Étape 3 et étape 4)

3. Le client envoie une requête HTTP/HTTPS GET au portail Web externe avec le paramètre « ?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 pour la radio 2,4G, 1 pour la radio 5G )&vid=vid&originUrl=redirecturl (si vous n'avez pas défini l'URL de redirection après que les clients sans fil/câblés ont passé l'authentification du portail, l'URL de redirection par défaut dépend des clients sans fil) ».
Par exemple : «
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 » (Étape 5 )

4. Le serveur de portail Web externe doit pouvoir obtenir la valeur des paramètres clientMac, clientIp, apMac, gatewayMac, ssidName, radioId, vid, schéma, originUrl . Ensuite, le serveur de portail Web externe doit rediriger le client vers le contrôleur avec les informations de nom d'utilisateur, mot de passe, clientMac, clientIp, apMac, gatewayMac, ssidName, schéma, vid, radioId, originUrl. (Étape 6)

5. Le client envoie des paquets HTTP/HTTPS POST à ​​(http) https://target_controller_ip:targetport/portal/radius/auth (ou radius/browserauth) avec le format JSON (ou formulaire HTML) dans le corps du message HTTP après la soumission. La valeur par défaut Le « port cible » du portail est 8843 (étape 7). Pour la différence entre radius/auth et radius/browserauth, veuillez vous référer à la partie Demo et api .

Remarque : à partir de Controlle r 5.0, si l'API « radius/auth » est utilisée, le champ « Access-Control-Allow-Origin:URL » doit être soumis dans l'en-tête HTTP pour améliorer la sécurité lors du partage de ressources entre origines croisées (CORS). . Par exemple, si le nom de domaine de votre portail Web externe est « www.tplinkportal.com », vous devez ajouter « Access-Control-Allow-Origin:https://www.tplinkportal.com ». Veuillez télécharger la démo à la fin de l'article pour référence.

6. Omada Controller communique avec le serveur Radius pour vérifier le nom d'utilisateur et le mot de passe. (Étape 8 et étape 9)formulaire

7. Si l'authentification est réussie, c'est-à-dire qu'Access-Accept est reçu du serveur Radius, Omada Controller redirigera une page de réussite intégrée ou une page Web prédéfinie en fonction de la configuration des clients. (Étape 10)

Démo et API :

De la version 4.1.5 à la version 5.1.0, nous fournissons l'API : target_controller_ip:targetport/portal/radius/auth avec soumission au format JSON,

Le modèle HTML ci-dessous est une démo simple pour vous permettre de développer votre portail Web externe fonctionnant avec Omada Controller en utilisant le format JSON :

Démo de serveur Web externe (JSON)

Lorsque HTTPS est utilisé côté portail Web et HTTP côté contrôleur omada, l'accès AJAX entraînera des problèmes d'accès inter-domaines de CORS et sera intercepté par le navigateur. Nous fournissons donc un formulaire HTML de soumission ap i depuis Omada Controller 5.3.1 : target_controller_ip:targetport/portal/radius/browserauth , et il réalise le saut de page sur le back-end

Le modèle HTML ci-dessous est une autre démo utilisant le formulaire HTML :

Démo du serveur Web externe (formulaire HTML)

Note:

1. Si vous utilisez Omada Cloud-Based Controller (CBC), seul HTTPS POST vers l'API «browserauth» avec formulaire HTML est pris en charge pour des raisons de sécurité. Pour CBC, veuillez utiliser le domaine de votre CBC au lieu de «target_controller_ip:targetport» dans l'URL pointant vers l'API «browserauth».

Par exemple, pour le CBC avec l'URL dans cette figure, l'API serait « https://aps1-omada-controller.tplinkcloud.com/portal/radius/browserauth »

2. Si votre contrôleur (4.1.5 ou supérieur) est mis à niveau à partir du contrôleur 3. xx, veuillez noter que nous avons modifié certains « noms » des paramètres.

Nom (V3.x)

Nom (V4.x)

Taper

Remarque

clientMac

clientMac

chaîne

adresse MAC du client

clientIp

clientIp

chaîne

adresse IP du client

ap

apMac

chaîne

Adresse MAC AP (uniquement pour ap)

 

passerelleMac

chaîne

Adresse MAC de la passerelle (uniquement pour l'authentification filaire)

 

à

entier

vid (uniquement pour l'authentification filaire)

sid

nom_ssid

chaîne

nom du SSID

identifiant radio

identifiant radio

entier

0 : 2,4 GHz, 1 : 5 GHz (uniquement pour ap)

/

Type d'authentification

entier

Le type d'authentification réel prend uniquement en charge les méthodes d'authentification RADIUS externe et Hotspot RADIUS.

2 : RAYON externe ; 8 : RAYON du point d'accès

URL de redirection

URL d'origine

chaîne

URL de redirection

nom d'utilisateur

nom d'utilisateur

chaîne

nom d'utilisateur d'authentification

mot de passe

mot de passe

chaîne

mot de passe d'authentification

Notez qu'apMac et gatewayMac n'existent pas dans la même requête. Lorsque les clients filaires s'authentifient, veuillez laisser l'apMac vide.

3. À l'étape 7, si votre formulaire contient des caractères non-ASCII (par exemple, le nom SSID est chinois ou dans d'autres langues), le codage UTF-8 doit être utilisé lors de l'envoi du HTTP/HTTPS POST au contrôleur.

4. Si vous choisissez l'accès ajax, veuillez noter le champ « Access-Control-Allow-Origin:URL » pour Controller 5.0 et supérieur.

5. Une démonstration de formulaire HTML et une API radius/browserauth sont recommandées.

 

Annexe : Document API d'authentification et d'authentification de navigateur

portail/radius/auth (depuis Omada Controller 4.1.5)

Informations de base

Chemin /portal/radius/auth

Méthodes POST

Paramètres de la demande

En-têtes

Paramètres

Valeur

Requis

Type de contenu

application/json

Oui

Requête

Paramètres

Requis

Description

clé

Oui

Clé AES chiffrée par clé publique RSA, RSA/ECB/PKCS1Padding. Les 16 premiers octets sont la clé et les 16 derniers octets sont le IV.

Cette clé de 32 octets doit être codée en URLBase64.

Corps

Paramètres

Taper

Requis

Description

clientMac

chaîne

Oui

adresse MAC du client

clientIP

Chaîne

 

Adresse IP du client

apMac

chaîne

Oui

Adresse MAC du point d'accès

passerelleMac

chaîne

Oui

adresse MAC de la passerelle

nom_ssid

chaîne

Oui

Nom SSID

à

entier

Oui

ID de VLAN

identifiant radio

entier

Oui

0 : 2,4 GHz 1 : 5 GHz

Type d'authentification

entier

Oui

Cette entrée est le type d'authentification en temps réel. Seules les deux options suivantes sont prises en charge : 2 : RADIUS externe 8 : RADIUS du point d'accès

URL d'origine

chaîne

 

URL de redirection

nom d'utilisateur

chaîne

Oui

Le nom d'utilisateur pour l'authentification

mot de passe

chaîne

Oui

Le mot de passe pour l'authentification

Paramètres de réponse

Paramètres

Taper

Requis

Description

code d'erreur

entier

Oui

Code d'erreur

 

portail/radius/browserauth (depuis Omada Controller 5.3.1)

Informations de base

Chemin /portal/radius/browserauth

Méthodes POST

Paramètres de la demande

En-têtes

Paramètres

Valeur

Requis

Type de contenu

application/x-www-form-urlencoded

Oui

Paramètres du chemin

Paramètres

Taper

Requis

Description

clientMac

chaîne

Oui

adresse MAC du client

clientIp

Chaîne

 

Adresse IP du client

apMac

chaîne

Oui

Adresse MAC du point d'accès

passerelleMac

chaîne

Oui

adresse MAC de la passerelle

nom_ssid

chaîne

Oui

Nom SSID

à

entier

Oui

ID de VLAN

identifiant radio

entier

Oui

0 : 2,4 GHz 1 : 5 GHz

Type d'authentification

entier

Oui

Cette entrée est le type d'authentification en temps réel. Seules les deux options suivantes sont prises en charge : 2 : RADIUS externe 8 : RADIUS du point d'accès

URL d'origine

chaîne

 

URL de redirection

nom d'utilisateur

chaîne

Oui

Le nom d'utilisateur pour l'authentification

mot de passe

chaîne

Oui

Le mot de passe pour l'authentification

 

Paramètres de réponse

Paramètres

Taper

Requis

Description

code d'erreur

entier

Oui

Code d'erreur

Veuillez noter ce document

Documents connexes