Modelo de código-fonte do External Web Portal (Controller 4.1.5 ou superior)

Knowledgebase
FAQ
Portal
11-09-2023

Adequado para Omada Controller V4.1.5 ou superior.

Para Omada Controller V3.1.4 ou superior, consulte FAQ2390

Para Omada Controller V3.0.5 ou inferior, consulte FAQ916

 

Este documento descreve os requisitos ao estabelecer um servidor de portal da Web externo. No Omada Controller, o External Web Portal só pode ser usado quando o tipo de autenticação do portal é External Radius Server.

 

A figura abaixo descreve o fluxo de trabalho entre o cliente wireless, EAP, Controlador Omada, Portal da Web Externo e Servidor Radius. Isso o ajudará a entender melhor os requisitos para estabelecer um servidor de portal da Web externo.

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

 

1. Para clientes sem fio e clientes com fio, quando eles estão conectados ao SSID da rede sem fio ou rede LAN com fio e tentam acessar a Internet, o EAP ou gateway intercepta a solicitação HTTP do cliente e a redireciona para o Controlador Omada. (Etapa 1 e Etapa 2)

2. O Controlador Omada redireciona a solicitação do cliente para a página do portal externo respondendo uma resposta HTTP com o código de status 302 Encontrado para o cliente. (Etapa 3 e Etapa 4)

3. O cliente envia a solicitação HTTP/HTTPS GET para o portal da web externo com o 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 )&vid=vid&originUrl=redirecturl (se você não definiu a URL de redirecionamento após os clientes sem fio/com fio passarem pela autenticação do portal, a URL de redirecionamento padrão depende dos clientes sem fio)”.
Por exemplo: "
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 ” (Etapa 5)

4. O servidor de portal da web externo deve ser capaz de obter o valor dos parâmetros clientMac, clientIp, apMac, gatewayMac, ssidName, radioId, vid, schema, originUrl . Em seguida, o servidor externo do portal da Web deve redirecionar o cliente para o Controlador com as informações de nome de usuário, senha, clientMac, clientIp, apMac, gatewayMac, ssidName, schema, vid, radioId, originUrl. (Etapa 6)

5. O cliente envia pacotes HTTP/HTTPS POST para (http) https://target_controller_ip:targetport/portal/radius/auth (ou radius/browserauth) com formato JSON (ou formulário HTML) no corpo da mensagem HTTP após o envio. O padrão “targetport” do portal é 8843 (Step7). Para saber a diferença entre radius/auth e radius/browserauth, consulte De mo e api part.

Nota: No Controller r 5.0, se a API “radius/auth” for usada, o campo “ Access-Control-Allow-Origin:URL” deve ser enviado no cabeçalho HTTP para aumentar a segurança durante o Cross-Origin Resource Sharing (CORS) . Por exemplo, se o nome de domínio do seu portal da Web externo forwww.tplinkportal.com ”, você precisará adicionar “Access-Control-Allow-Origin:https://www.tplinkportal.com”. Faça o download da demonstração no final do artigo para referência.

6. Omada Controller se comunica com o servidor radius para verificar o nome de usuário e a senha. (Etapa 8 e Etapa 9)formulário

7. Se a autenticação for aprovada, ou seja, o Access-Accept for recebido do servidor radius, o Omada Controller redirecionará uma página de sucesso integrada ou uma página da Web predefinida de acordo com a configuração dos clientes. (Passo 10)

Demonstração e API:

De 4.1.5 a 5.1.0, fornecemos API: target_controller_ip:targetport/portal/radius/auth com envio no formato JSON,

O modelo html abaixo é uma demonstração simples para você desenvolver seu Portal Web Externo trabalhando com o Omada Controller usando o formato JSON:

Demonstração do Servidor Web Externo (JSON)

Quando HTTPS é usado no lado do portal da Web e HTTP é usado no lado do controlador omada, o acesso AJAX causará problemas de acesso entre domínios do CORS e será interceptado pelo navegador. : target_controller_ip:targetport/portal/radius/browserauth , e percebe o salto de página no back-end

O modelo html abaixo é outra demonstração usando o formulário HTML:

Demonstração do Servidor Web Externo (formulário HTML)

Observação:

1. Se você estiver usando o Omada Cloud-Based Controller (CBC), somente HTTPS POST para a API “browserauth” com formulário HTML é suportado por motivos de segurança. Para CBC, use o domínio do seu CBC em vez de “target_controller_ip:targetport” no URL que aponta para a API “browserauth”.

Por exemplo, para o CBC com URL nesta figura, a API seria “ https://aps1-omada-controller.tplinkcloud.com/portal/radius/browserauth

2. Se o seu Controlador (4.1.5 ou superior) for atualizado do Controlador 3. xx, observe que alteramos alguns “Nomes” dos parâmetros.

Nome(V3.x)

Nome(V4.x)

Tipo

Observação

clienteMac

clienteMac

string

endereço MAC do cliente

clienteIp

clienteIp

string

endereço IP do cliente

ap

apMac

string

Endereço AP MAC (somente para ap)

 

gatewayMac

string

Endereço MAC do gateway (somente para autenticação com fio)

 

no

integer

vid (somente para autenticação com fio)

ssid

ssidName

string

nome ssid

radioid

radioid

integer

0: 2,4 GHz, 1: 5 GHz (somente para ap)

/

authType

integer

O tipo de autenticação real suporta apenas os métodos de autenticação RADIUS Externo e Hotspot RADIUS.

2: RAIO Externo; 8: RAIO do ponto de acesso

URL de redirecionamento

url de origem

string

URL de redirecionamento

nome de usuário

nome de usuário

string

nome de usuário de autenticação

senha

senha

string

senha de autenticação

Observe que apMac e gatewayMac não existem na mesma solicitação,quando os clientes com fio são autenticados,deixe em branco o apMac

3. Na etapa 7, se o seu formulário tiver caracteres não ASCII (como o nome SSID é chinês ou outros idiomas), a codificação UTF-8 deve ser usada ao enviar o POST HTTP/HTTPS para o Controlador.

4. Se você escolher o acesso ajax, observe o campo “Access-Control-Allow-Origin:URL” para o Controller 5.0 e superior.

5. Recomenda-se a demonstração do formulário HTML e a API radius/browserauth.

 

Apêndice: Documento API de autenticação e autenticação do navegador

portal/radius/auth (desde Omada Controller 4.1.5)

Informação básica

Caminho : /portal/radius/auth

Método : POST

Parâmetros de Solicitação

Cabeçalhos

Parâmetros

Valor

Obrigatório

Tipo de conteúdo

aplicativo/json

Sim

Consulta

Parâmetros

Obrigatório

Descrição

chave

Sim

Chave AES criptografada pela chave pública RSA, RSA/ECB/PKCS1Padding. Os primeiros 16 bytes são a chave e os últimos 16 bytes são o IV.

Essa chave de 32 bytes precisa ser codificada em URLBase64.

Corpo

Parâmetros

Tipo

Obrigatório

Descrição

clienteMac

string

Sim

endereço MAC do cliente

clienteIP

string

 

Endereço IP do cliente

apMac

string

Sim

AP endereço MAC

gatewayMac

string

Sim

endereço MAC do gateway

ssidName

string

Sim

nome SSID

no

integer

Sim

ID da VLAN

radioid

integer

Sim

0: 2,4 GHz 1: 5 GHz

authType

integer

Sim

Esta entrada é o tipo de autenticação em tempo real. Apenas as duas opções a seguir são suportadas: 2: RADIUS externo 8: RADIUS de ponto de acesso

url de origem

string

 

URL de redirecionamento

nome de usuário

string

Sim

O nome de usuário para autenticação

senha

string

Sim

A senha para autenticação

Parâmetros de resposta

Parâmetros

Tipo

Obrigatório

Descrição

Erro de código

integer

Sim

Erro de código

 

portal/radius/browserauth (desde Omada Controller 5.3.1)

Informação básica

Caminho : /portal/radius/browserauth

Método : POST

Parâmetros de Solicitação

Cabeçalhos

Parâmetros

Valor

Obrigatório

Tipo de conteúdo

application/x-www-form-urlencoded

Sim

Parâmetros de caminho

Parâmetros

Tipo

Obrigatório

Descrição

clienteMac

string

Sim

endereço MAC do cliente

clienteIP

string

 

Endereço IP do cliente

apMac

string

Sim

AP endereço MAC

gatewayMac

string

Sim

endereço MAC do gateway

ssidName

string

Sim

nome SSID

no

integer

Sim

ID da VLAN

radioid

integer

Sim

0: 2,4 GHz 1: 5 GHz

authType

integer

Sim

Esta entrada é o tipo de autenticação em tempo real. Apenas as duas opções a seguir são suportadas: 2: RADIUS externo 8: RADIUS de ponto de acesso

url de origem

string

 

URL de redirecionamento

nome de usuário

string

Sim

O nome de usuário para autenticação

senha

string

Sim

A senha para autenticação

 

Parâmetros de resposta

Parâmetros

Tipo

Obrigatório

Descrição

Erro de código

integer

Sim

Erro de código

Por favor, avalie este documento

Documentos relacionados