외부 웹 포털 용 소스 코드 템플릿 (Controller 4.1.5 이상)

기능 설명 또는 사양 매개 변수와 관련된 Q&A
수정일10-07-2022 06:01:45 AM 56422
본 내용은 다음 항목에 적용됩니다: 

Omada Controller V4.1.5 이상에 적합합니다.

Omada Controller V3.1.4 이상의 경우 FAQ2390을 참조하세요.

Omada Controller V3.0.5 이하의 경우 FAQ916을 참조하세요.

 

이 문서는 외부 웹 포털 서버를 설정할 때의 요구 사항을 설명합니다. Omada Controller에서 외부 웹 포털은 포털 인증 유형이 외부 Radius 서버 인 경우에만 사용할 수 있습니다.

 

아래 그림은 무선 클라이언트, EAP, Omada 컨트롤러, 외부 웹 포털 및 Radius 서버 간의 워크 플로우를 보여줍니다. 외부 웹 포털 서버를 설정하는 데 필요한 요구 사항을 더 잘 이해하는 데 도움이됩니다.

 

1. 무선 클라이언트 및 유선 클라이언트의 경우 무선 네트워크 또는 유선 LAN 네트워크의 SSID에 연결되어 인터넷에 액세스하려고하면 EAP 또는 게이트웨이가 클라이언트의 HTTP 요청을 가로 채고 Omada 컨트롤러로 리디렉션합니다. (1 단계 및 2 단계)

2. Omada 컨트롤러는 상태 코드가 302 Found 인 HTTP 응답을 클라이언트에 회신하여 클라이언트의 요청을 외부 포털 페이지로 리디렉션합니다. (3 단계 및 4 단계)

3. 클라이언트는 Client sends HTTP/HTTPS GET request to external web portal with 매개변수 “?를 사용하여 외부 웹 포털 HTTP/HTTPS GET 요청을 보냅니다.

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(2.4G 무선의 경우 "0", 5G 무선의 경우 "1")&vid=vid&originUrl=redirecturl(유무선 클라이언트가 포털 인증을 통과한 후 리디렉션 URL을 설정하지 않은 경우, 기본 리디렉션 URL은 무선 클라이언트에 따라 다릅니다)”.

예시: “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” (5단계)

4. 외부 웹 포털 서버는 clientMac, clientIp, apMac, gatewayMac, ssidName, radioId, vid, scheme, originUrl 매개 변수의 값을 가져올 수 있어야 합니다. 그런 다음 외부 웹 포털 서버는 사용자 이름, 암호, clientMac, clientIp, apMac, gatewayMac, ssidName, scheme, vid, radioId, originUrl 정보를 사용하여 클라이언트를 컨트롤러에 리디렉션해야 합니다. (6 단계)

5. 클라이언트는 제출 후 HTTP 메시지 본문에 JSON 형식(또는 HTML 형식)을 사용하여 (http) https://target_controller_ip:targetport/portal/radius/auth (또는 radius/browserauth)에 HTTP/HTTPS POST 패킷을 보냅니다. 포털의 기본 "targetport ”는 8843(7단계)입니다. radius/auth와 radius/browserauth의 차이점은 Demo 및 api 부분을 참조하세요.

참고: 컨트롤러 5.0에서 API "radius/auth"를 사용하는 경우 "Access-Control-Allow-Origin:URL" 필드를 HTTP 헤더에 제출하여 CORS(Cross-Origin Resource Sharing) 동안 보안을 강화합니다. 예를 들어 외부 웹 포털의 도메인 이름이 www.tplinkportal.com인 경우 "Access-Control-Allow-Origin:https://www.tplinkportal.com"을 추가해야 합니다. 참고용으로 본문 하단에 있는 데모를 다운로드하세요.

6. Omada 컨트롤러는 사용자 이름과 비밀번호를 확인하기 위해 Radius 서버와 통신합니다. (8 단계 및 9 단계)

7. 인증이 통과되면, 즉 Radius 서버에서 Access-Accept가 수신되면 Omada 컨트롤러는 구성에 따라 기본 제공 성공 페이지 또는 미리 정의 된 웹 페이지를 클라이언트로 리디렉션합니다. (10 단계)

 

Demo 및 api:

4.1.5 ~ 5.1.0까지 api 제공: target_controller_ip:targetport/portal/radius/auth (JSON 형식 사용)

아래 html 템플릿은 Omada 컨트롤러로 작업하는 외부 웹 포털을 개발하기위한 간단한 데모입니다.

외부 웹 서버 데모 (JSON)

웹 포털 측에서 HTTPS를 사용하고 omada 컨트롤러 측에서 HTTP를 사용하는 경우, AJAX 액세스는 access will cause cross domain access problems of CORS의 교차 도메인 액세스 문제를 발생시키고 브루아저에서 가로채기 때문에 Omada 컨트롤러 5.3.1부터 HTML 양식을 제출 api를 제공합니다: target_controller_ip:targetport/portal/radius/browserauth , 이는 백엔드에서 페이지 점프를 실현합니다.

아래 html 템플릿은 HTML 형식을 사용하는 다른 데모입니다:

외부 웹 서버 데모 (HTML 형식)

참고:

1. 컨트롤러 (4.1.5 이상)가 컨트롤러 3. x.x에서 업그레이드된 경우, 매개변수의 일부 "이름"이 변경된 점을 유의하세요.

이름(V3.x)

이름(V4.x)

유형

참고

clientMac

clientMac

string

클라이언트 MAC 주소

clientIp

clientIp

string

클라이언트 IP 주소

ap

apMac

string

AP MAC 주소(ap 전용)

 

gatewayMac

string

게이트웨이 MAC 주소 (유선 auth 전용)

 

vid

integer

vid (유선 auth 전용)

ssid

ssidName

string

ssid 이름

radioId

radioId

integer

0: 2.4GHz, 1: 5GHz(ap 전용)

/

authType

integer

실제 인증 유형은 외부 RADIUS 및 Hotspot RADIUS 인증 방법만 지원합니다.

2: 외부 RADIUS; 8: Hotspot RADIUS

redirectUrl

originUrl

string

redirectUrl

username username

string

인증 사용자이름

password password

string

인증 비밀번호

apMac 및 gatewayMac은 동일한 요청에 존재할 수 없습니다. 유선 클라이언트가 인증할 때  apMac을 비워두세요.

2. 7단계에서 양식에 ASCII가 아닌 문자가 있는 경우 (SSID 이름이 중국어 또는 기타 언어인 경우), HTTP/HTTPS POST를 컨트롤러로 전송할 때 UTF-8 인코딩을 사용해야 합니다.

3. ajax 액세스를 선택하는 경우 컨트롤러 5.0 이상에 대한 “Access-Control-Allow-Origin:URL” 필드를 확인하세요.

4. HTML 양식 데모 및 radius/browserauth api 사용을 권장합니다.

 

부록: auth 및 browserauth의 API 문서

portal/radius/auth (Omada 컨트롤러 4.1.5 이상)

기본 정보

경로 /portal/radius/auth

방법 POST

요청 매개변수 

헤더

매개변수

   값

요청

Content-Type

application/json

가능

쿼리

매개변수

요청

설명

key

가능

RSA 공개 키로 암호화된 AES 키, RSA/ECB/PKCS1Padding. 처음 16 bytes는 key이며, 마지막 16 bytes는 IV입니다.

이 32-byte key는 URLBase64로 인코딩되어야 합니다.

바디

매개변수

유형

요청

설명

clientMac

string

가능

client MAC 주소

clientIP

String

 

Client IP 주소

apMac

string

가능

AP MAC 주소

gatewayMac

string

가능

gateway MAC 주소

ssidName

string

가능

SSID 이름

vid

integer

가능

VLAN ID

radioId

integer

가능

0: 2.4GHz 1: 5GHz

authType

integer

가능

이 항목은 실시간 인증 유형입니다. 외부 RADIUS 8: Hotspot RADIUS만 지원됩니다.

originUrl

string

 

Redirect URL

username

string

가능

인증 사용자 이름

password

string

가능

인증 비밀번호

응답 매개변수

매개변수

유형

요청

설명

errorCode

integer

가능

오류 코드

 

portal/radius/browserauth (Omada 컨트롤러 5.3.1 이상)

기본 정보

경로 /portal/radius/browserauth

방법 POST

요청 매개변수

헤더

매개변수

요청

Content-Type

application/x-www-form-urlencoded

가능

경로 매개변수

매개변수

유형

요청

설명

clientMac

string

가능

client MAC 주소

clientIP

String

 

Client IP 주소

apMac

string

가능

AP MAC 주소

gatewayMac

string

가능

gateway MAC 주소

ssidName

string

가능

SSID 이름

vid

integer

가능

VLAN ID

radioId

integer

가능

0: 2.4GHz 1: 5GHz

authType

integer

가능 이 항목은 실시간 인증 유형입니다. 외부 RADIUS 8: Hotspot RADIUS만 지원됩니다.

originUrl

string

 

Redirect URL

username

string

가능 인증 사용자 이름

password

string

가능

인증 비밀번호

 

응답 매개변수

매개변수

유형

요청

설명

errorCode

integer

가능

에러 코드

해당 FAQ가 유용했나요?

여러분의 의견은 사이트 개선을 위해 소중하게 사용됩니다.

관련 제품

From United States?

해당 지역의 제품, 이벤트 및 서비스를 받아보세요.