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

EAP225-Wall( V2 ) , EAP660 HD( V1 ) , OC200 , AP9665 , OC300 , EAP225-Outdoor( V1 ) , EAP245( V3 ) , EAP265 HD( V1 ) , EAP110( V4 ) , EAP230-Wall( V1 ) , EAP235-Wall( V1 ) , EAP620 HD( V1 ) , EAP225( V3 ) , EAP115( V4 ) , EAP110-Outdoor( V3 ) , Omada Software Controller , EAP115-Wall( V1 )
최근 업데이트로 인해 이 FAQ에서 설명하는 기능에 대한 액세스가 확장되었을 수 있습니다. 제품 지원 페이지를 방문하여 올바른 하드웨어 버전을 선택하고 데이터시트나 펌웨어 섹션에서 제품의 최신 개선 사항을 확인하세요. 제품 가용성은 지역에 따라 다르며 일부 모델은 특정 지역에서 제공되지 않을 수 있습니다.
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은 무선 클라이언트에 따라 다릅니다)”.
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 컨트롤러로 작업하는 외부 웹 포털을 개발하기위한 간단한 데모입니다.
웹 포털 측에서 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 형식을 사용하는 다른 데모입니다:
참고:
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입니다. |
바디
매개변수 |
유형 |
요청 |
설명 |
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
해당 FAQ가 유용했나요?
여러분의 의견은 사이트 개선을 위해 소중하게 사용됩니다.
해당 본문에 문제가 있습니까?
- 제품에 대한 불만족
- 너무 복잡함
- 명확하지 않은 제목
- 적용되지 않음
- 너무 모호함
- 기타
감사합니다
귀하의 의견에 감사드립니다. TP-Link 기술 지원팀에 문의하려면
여기를 클릭 해주세요.
이 웹사이트는 웹사이트 탐색 개선, 온라인 활동 분석, 웹사이트상의 사용자 경험 개선을 위해 쿠키를 사용합니다. 귀하는 언제든지 쿠키 사용을 거부할 수 있습니다. 자세한 내용은 개인정보 처리방침에서 확인할 수 있습니다.
이 웹사이트는 웹사이트 탐색 개선, 온라인 활동 분석, 웹사이트상의 사용자 경험 개선을 위해 쿠키를 사용합니다. 귀하는 언제든지 쿠키 사용을 거부할 수 있습니다. 자세한 내용은 개인정보 처리방침에서 확인할 수 있습니다.
기본 쿠키
이 쿠키는 웹사이트가 작동하는 데 필요하며 사용자의 시스템에서 비활성화할 수 없습니다.
TP-Link
SESSION, JSESSIONID, accepted_local_switcher, tp_privacy_base, tp_privacy_marketing, tp_smb-select-product_scence, tp_smb-select-product_scenceSimple, tp_smb-select-product_userChoice, tp_smb-select-product_userChoiceSimple, tp_smb-select-product_userInfo, tp_smb-select-product_userInfoSimple, tp_top-banner, tp_popup-bottom, tp_popup-center, tp_popup-right-middle, tp_popup-right-bottom, tp_productCategoryType
Youtube
id, VISITOR_INFO1_LIVE, LOGIN_INFO, SIDCC, SAPISID, APISID, SSID, SID, YSC, __Secure-1PSID, __Secure-1PAPISID, __Secure-1PSIDCC, __Secure-3PSID, __Secure-3PAPISID, __Secure-3PSIDCC, 1P_JAR, AEC, NID, OTZ
Zendesk
OptanonConsent, __cf_bm, __cfruid, _cfuvid, _help_center_session, _pendo___sg__.<container-id>, _pendo_meta.<container-id>, _pendo_visitorId.<container-id>, _zendesk_authenticated, _zendesk_cookie, _zendesk_session, _zendesk_shared_session, ajs_anonymous_id, cf_clearance
분석 및 마케팅 쿠키
분석 쿠키는 웹사이트의 기능을 개선하고 조정하기 위해 웹사이트에서의 사용자 활동을 분석하는 데 사용하는 쿠키입니다.
마케팅 쿠키는 귀하의 관심사에 대한 프로필을 생성하고 다른 웹사이트에서 관련 광고를 표시하기 위해 당사의 광고 파트너가 당사 웹사이트를 통해 설정할 수 있습니다.
Google Analytics & Google Tag Manager
_gid, _ga_<container-id>, _ga, _gat_gtag_<container-id>
Google Ads & DoubleClick
test_cookie, _gcl_au