Ejemplo de código y API para servidor RADIUS con portal web externo (controlador Omada 4.1.5 o superior)

Knowledgebase
FAQ
Portal
11-09-2023

Adecuado para Omada Controller 4.1.5 o superior.

Para Omada Controller 3.1.4 a 3.2.17, consulte FAQ2390

Para Omada Controller 3.0.5 o inferior, consulte FAQ916

 

Este documento describe los requisitos al establecer un servidor de portal web externo. En Omada Controller, el Portal web externo solo se puede usar cuando el tipo de autenticación del portal es Servidor Radius externo.

 

La siguiente imagen muestra el flujo de trabajo entre el cliente inalámbrico, EAP, el controlador Omada, el portal web externo y el servidor Radius. Le ayudará a comprender mejor los requisitos para establecer un servidor de portal web externo.

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

 

1. Para clientes inalámbricos y clientes cableados, cuando están conectados al SSID de la red inalámbrica o la red LAN cableada e intentan acceder a Internet, EAP o la puerta de enlace interceptarán la solicitud HTTP del cliente y luego la redireccionarán al controlador Omada. (Paso 1 y Paso 2)

2. El controlador de Omada luego redirige la solicitud del cliente a la página del portal externo respondiendo una respuesta HTTP con el código de estado 302 Encontrado para el cliente. (Paso 3 y Paso 4)

3. El cliente envía una solicitud HTTP/HTTPS GET a un portal web externo con el parámetro “ ?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 para radio 2.4G, 1 para radio 5G )&vid=vid&originUrl=redirecturl (si no configuró la URL de redirección después de que los clientes inalámbricos/alámbricos pasaran la autenticación del portal, la URL de redirección predeterminada depende de los clientes inalámbricos)”.
Por ejemplo: "
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 ” (Paso 5)

4. El servidor del portal web externo debe poder obtener el valor de los parámetros clientMac, clientIp, apMac, gatewayMac, ssidName, radioId, vid, Scheme, originUrl . Luego, el servidor del portal web externo debe redirigir al cliente al controlador con la información de nombre de usuario, contraseña, clientMac, clientIp, apMac, gatewayMac, ssidName, esquema, vid, radioId, originUrl. (Paso 6)

5. El cliente envía paquetes HTTP/HTTPS POST a (http) https://target_controller_ip:targetport/portal/radius/auth (o radius/browserauth) con formato JSON (o formulario HTML) en el cuerpo del mensaje HTTP después de enviarlo. El valor predeterminado del puerto de destino del portal, “targetport”, es 8843 (Paso 7). Para conocer la diferencia entre radius/auth y radius/browserauth, consulte laparte Demo y api .

Nota: Desde Controlle r 5.0, si se usa la API "radius/auth", el campo "Access-Control-Allow-Origin:URL" debe enviarse en el encabezado HTTP para mejorar la seguridad durante el uso compartido de recursos de origen cruzado (CORS - Cross-Origin Resource Sharing) . Por ejemplo, si el nombre de dominio de su portal web externo es " www.tplinkportal.com ", debe agregar "Access-Control-Allow-Origin: https://www.tplinkportal.com". Descargue la demostración al final del artículo como referencia.

6. El controlador Omada se comunica con el servidor RADIUS para verificar el nombre de usuario y la contraseña. (Paso 8 y Paso 9)formulario

7. Si se pasa la autenticación, es decir, se recibe Access-Accept del servidor Radius, el controlador Omada redirigirá una página de éxito integrada o una página web predefinida de acuerdo con la configuración de los clientes. (Paso 10)

Demo y API:

De 4.1.5 a 5.1.0, proporcionamos api: target_controller_ip:targetport/portal/radius/auth con envío en formato JSON,

La siguiente plantilla html es una demostración simple para que pueda desarrollar su Portal web externo trabajando con el controlador Omada usando el formato JSON:

Demostración de servidor web externo (JSON)

Cuando se usa HTTPS en el lado del portal web y HTTP en el lado del controlador de Omada, el acceso a AJAX causará problemas de acceso entre dominios de CORS y será interceptado por el navegador, por lo que proporcionamos el formulario HTML que envía la API desde Omada Controller 5.3.1 : target_controller_ip:targetport/portal/radius/browserauth , y realiza el salto de página en el back-end

La siguiente plantilla html es otra demostración que usa un formulario HTML:

Demostración de servidor web externo (formulario HTML)

Nota:

1. Si está utilizando el controlador basado en la nube de Omada (CBC), solo se admite HTTPS POST a la API "browserauth" con formulario HTML por razones de seguridad. Para CBC, utilice el dominio de su CBC en lugar de "target_controller_ip:targetport" en la URL que apunta a la API "browserauth".

Por ejemplo, para el CBC con URL en esta figura, la API sería " https://aps1-omada-controller.tplinkcloud.com/portal/radius/browserauth "

2. Si su controlador (4.1.5 o superior) se actualiza desde el controlador 3. xx, tenga en cuenta que hemos cambiado algunos "Nombres" de los parámetros.

Nombre (V3.x)

Nombre (V4.x)

Tipo

Observación

clientMac

clientMac

string

client MAC address

clientIp

clientIp

string

client IP address

ap

apMac

string

AP MAC address(only for ap)

 

gatewayMac

string

Gateway MAC address (only for wired auth)

 

vid

integer

vid (only for wired auth)

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

Tenga en cuenta que apMac y gatewayMac no existen en la misma solicitud, cuando los clientes conectados se autentican, deje en blanco el apMac

3. En el paso 7, si su formulario tiene caracteres que no son ASCII (por ejemplo, el nombre del SSID es chino u otro idioma), se debe usar la codificación UTF-8 al enviar HTTP/HTTPS POST al controlador.

4. Si elige el acceso ajax, tenga en cuenta el campo "Access-Control-Allow-Origin:URL" para Controller 5.0 y superior.

5. Se recomienda la demostración de formulario HTML y la API de autenticación de navegador/radio.

 

Apéndice: documento API de auth y browserauth

portal/radius/auth (desde Omada Controller 4.1.5)

Información básica

Ruta : /portal/radio/autorización

Método : POST

Parámetros de solicitud

Encabezados

Parámetros

Valor

Requerido

Tipo de contenido

(Content-Type)

aplicación/json

Consulta

Parámetros

Requerido

Descripción

key

Clave AES cifrada por clave pública RSA, RSA/ECB/PKCS1Padding. Los primeros 16 bytes son la clave y los últimos 16 bytes son el IV.

Esta clave de 32 bytes debe estar codificada en URLBase64.

Cuerpo

Parámetros

Tipo

Requerido

Descripción

clientMac

string

Yes

client MAC address

clientIP

String

 

Client IP address

apMac

string

Yes

AP MAC address

gatewayMac

string

Yes

gateway MAC address

ssidName

string

Yes

SSID name

vid

integer

Yes

VLAN ID

radioId

integer

Yes

0: 2.4GHz 1: 5GHz

authType integer Yes

Esta entrada es el tipo de autenticación en tiempo real. Solo se admiten las dos opciones siguientes: 2: RADIUS externo 8: Hotspot RADIUS

originUrl

string

 

Redirect URL

username

string

Yes

The username for authentication

password

string

Yes

The password for authentication

Parámetros de respuesta

Parámetros

Tipo

Requerido

Descripción

errorCode

integer

Yes

Error Code

 

portal/radius/browserauth (desde Omada Controller 5.3.1)

Información básica

Ruta : /portal/radius/browserauth

Método : POST

Parámetros de solicitud

Encabezados

Parámetros

Valor

Requerido

Content-Type

application/x-www-form-urlencoded

Parámetros de ruta

Parámetros

Tipo

Requerido

Descripción

clientMac

string

Yes

client MAC address

clientIP

String

 

Client IP address

apMac

string

Yes

AP MAC address

gatewayMac

string

Yes

gateway MAC address

ssidName

string

Yes

SSID name

vid

integer

Yes

VLAN ID

radioId

integer

Yes

0: 2.4GHz 1: 5GHz

authType

integer

Yes

This entry is the realtime authentication type. Only the following two options are supported: 2: External RADIUS 8: Hotspot RADIUS

originUrl

string

 

Redirect URL

username

string

Yes

The username for authentication

password

string

Yes

The password for authentication

 

Parámetros de respuesta

Parámetros

Tipo

Requerido

Descripción

errorCode

integer

Yes

Error Code

 

Evalúa este documento

Documentos relacionados