Modèle de code source pour le portail Web externe (Controller 4.1.5 ou supérieur)
Convient pour Omada Controller V4.1.5 ou supérieur.
Pour Omada Controller V3.1.4 ou supérieur, veuillez vous référer à FAQ2390
Pour Omada Controller V3.0.5 ou inférieur, veuillez vous référer à 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 un serveur Radius externe.
L'image ci-dessous illustre le flux de travail entre le client sans fil, EAP, le contrôleur Omada, le portail Web externe et le serveur Radius. Cela vous aidera à mieux comprendre les exigences d'établissement d'un serveur de portail Web externe.
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, 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 Found 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 1.4G5, )&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 example: "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, scheme, 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, scheme, vid, radioId, originUrl. (Étape 6)
5. Le client envoie des paquets HTTP/HTTPS POST à (http) https://target_controller_ip:targetport/portal/radius/auth avec le format JSON (ou formulaire HTML) dans le corps du message HTTP après la soumission. Le « port cible » par défaut du portail est 8843 (Étape 7)
Remarque : à partir de Controller 5.0, 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 des ressources cross-origin (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 si 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 4.1.5 à 5.1.0, nous fournissons l'api : target_controller_ip:targetport/portal/radius/auth avec la soumission au format JSON,
Le modèle html ci-dessous est une démonstration simple pour développer votre portail Web externe en utilisant Omada Controller en utilisant le format JSON :
Démonstration de serveur Web externe (JSON)
Lorsque HTTPS est utilisé du côté du portail Web et que HTTP est utilisé du côté du contrôleur omada, l'accès AJAX causera des problèmes d'accès interdomaine de CORS et sera intercepté par le navigateur, nous fournissons donc le formulaire HTML soumettant l'api : 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émonstration de serveur Web externe (formulaire HTML)
Noter:
1. 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 |
corde |
adresse MAC du client |
clientIp |
clientIp |
corde |
adresse IP du client |
ap |
apMac |
corde |
Adresse MAC AP (uniquement pour ap) |
|
passerelleMac |
corde |
Adresse MAC de la passerelle (uniquement pour l'authentification filaire) |
|
à |
entier |
vid (uniquement pour l'authentification filaire) |
ssid |
ssidName |
corde |
nom de SSID |
identifiant radio |
identifiant radio |
entier |
0 : 2,4 GHz, 1 : 5 GHz (uniquement pour ap) |
/ |
authType |
entier |
Le type d'authentification réel ne prend en charge que les méthodes d'authentification RADIUS externe et Hotspot RADIUS. 2 : RAYON externe ; 8 : RAYON du point d'accès |
URL de redirection |
originUrl |
corde |
URL de redirection |
Nom d'utilisateur |
Nom d'utilisateur |
corde |
nom d'utilisateur d'authentification |
le mot de passe |
le mot de passe |
corde |
mot de passe d'authentification |
Notez qu'apMac et gatewayMac n'existent pas dans la même requête, lorsque les clients câblés s'authentifient, veuillez laisser l'apMac vide
2. À l'étape 7, si votre formulaire contient des caractères non ASCII (tels que le nom SSID est le chinois ou d'autres langues), le codage UTF-8 doit être utilisé lors de l'envoi du POST HTTP/HTTPS au contrôleur.
3. Si vous choisissez l'accès ajax, veuillez noter le champ "Access-Control-Allow-Origin:URL" pour Controller 5.0 et supérieur.
4. Une démo de formulaire HTML et une API radius/browserauth sont recommandées.
Annexe : document API d'authentification et d'authentification du navigateur
Informations de base
Chemin :/portail/radius/auth
Méthode :POST
Paramètres de requête
En-têtes
Paramètres |
Valeur |
Obligatoire |
Type de contenu |
application/json |
Oui |
Requête
Paramètres |
Obligatoire |
La 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. |
Corps
Paramètres |
Taper |
Obligatoire |
La description |
clientMac |
corde |
Oui |
adresse MAC du client |
clientIP |
Corde |
|
Adresse IP du client |
apMac |
corde |
Oui |
Adresse MAC du point d'accès |
passerelleMac |
corde |
Oui |
adresse MAC de la passerelle |
ssidName |
corde |
Oui |
Nom SSID |
à |
entier |
Oui |
ID VLAN |
identifiant radio |
entier |
Oui |
0 : 2,4 GHz 1 : 5 GHz |
authType |
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 |
originUrl |
corde |
|
URL de redirection |
Nom d'utilisateur |
corde |
Oui |
Le nom d'utilisateur pour l'authentification |
le mot de passe |
corde |
Oui |
Le mot de passe pour l'authentification |
Paramètres de réponse
Paramètres |
Taper |
Obligatoire |
La description |
code d'erreur |
entier |
Oui |
Code d'erreur |
Informations de base
Chemin :/portal/radius/browserauth
Méthode :POST
Paramètres de requête
En-têtes
Paramètres |
Valeur |
Obligatoire |
Type de contenu |
application/x-formulaire-www-urlencodé |
Oui |
Paramètres de chemin
Paramètres |
Taper |
Obligatoire |
La description |
clientMac |
corde |
Oui |
adresse MAC du client |
clientIP |
Corde |
|
Adresse IP du client |
apMac |
corde |
Oui |
Adresse MAC du point d'accès |
passerelleMac |
corde |
Oui |
adresse MAC de la passerelle |
ssidName |
corde |
Oui |
Nom SSID |
à |
entier |
Oui |
ID VLAN |
identifiant radio |
entier |
Oui |
0 : 2,4 GHz 1 : 5 GHz |
authType |
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 |
originUrl |
corde |
|
URL de redirection |
Nom d'utilisateur |
corde |
Oui |
Le nom d'utilisateur pour l'authentification |
le mot de passe |
corde |
Oui |
Le mot de passe pour l'authentification |
Paramètres de réponse
Paramètres |
Taper |
Obligatoire |
La description |
code d'erreur |
entier |
Oui |
Code d'erreur |
Est-ce que ce FAQ a été utile ?
Vos commentaires nous aideront à améliorer ce site.