Mã nguồn mẫu cho External Web Portal (Controller 4.1.5 trở lên)
Thích hợp cho Omada Controller V4.1.5 trở lên.
Đối với Omada Controller V3.1.4 trở lên, vui lòng tham khảo FAQ2390
Đối với Omada Controller V3.0.5 trở lên, vui lòng tham khảo FAQ916
Tài liệu này nêu các yêu cầu khi cài đặt một máy chủ external web portal. Trong Omada Controller, External Web Portal chỉ có thể được sử dụng khi loại xác thực cổng là External Radius Server.
Hình ảnh dưới đây mô tả quy trình làm việc giữa máy khách không dây, EAP, Omada Controller, External Web Portal và Radius Server. Nó sẽ giúp bạn hiểu rõ hơn về các yêu cầu của việc thiết lập một máy chủ External Web Portal.
1. Đối với máy khách không dây & máy khách có dây, khi chúng được kết nối với SSID của mạng không dây hoặc mạng LAN có dây và cố gắng truy cập internet, EAP hoặc cổng vào sẽ chặn yêu cầu HTTP của máy khách và sau đó chuyển hướng nó đến Omada Controller. (Bước 1 và Bước 2)
2. Omada Controller sau đó chuyển hướng yêu cầu của máy khách đến trang external portal bằng cách trả lời phản hồi HTTP với mã trạng thái 302 Đã tìm thấy cho máy khách. (Bước 3 và Bước 4)
3. Ứng dụng khách gửi yêu cầu HTTP / HTTPS GET đến external web portal với tham số “?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 đối với băng tần 2.4G, 1 đối với băng tần 5G )&vid=vid&originUrl=redirecturl (nếu bạn không đặt URL chuyển hướng sau khi các máy khách không dây / có dây chuyển xác thực cổng thông tin, thì URL chuyển hướng mặc định phụ thuộc vào các máy khách không dây) ”.
Ví dụ: “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” (Bước 5)
4. Máy chủ External web portal phải có thể nhận giá trị của các tham số clientMac, clientIp, apMac, gatewayMac, ssidName, radioId, vid, Scheme, originUrl. Sau đó, máy chủ external web portal sẽ chuyển hướng máy khách đến Controller với thông tin tên người dùng, mật mã, clientMac, clientIp, apMac, gatewayMac, ssidName, Scheme, vid, radioId, originUrl. (Bước 6)
5. Ứng dụng khách gửi các gói HTTP / HTTPS POST tới (http) https://target_controller_ip:targetport/portal/radius/auth with định dạng JSON (hoặc dạng HTML) trong nội dung thông báo HTTP sau khi gửi. “targetport” mặc định của cổng là 8843 (Bước7)
Lưu ý: Từ Controller 5.0, “Access-Control-Allow-Origin: URL” phải được gửi trong tiêu đề HTTP để tăng cường bảo mật trong quá trình Cross-Origin Resource Sharing (CORS). Ví dụ: nếu tên miền của External Web Portal của bạn là “www.tplinkportal.com”, bạn cần thêm “Access-Control-Allow-Origin: https: //www.tplinkportal.com”. Vui lòng tải demo ở cuối bài để tham khảo.
6. Omada Controller giao tiếp với máy chủ radius để xác minh tên người dùng và mật mã. (Bước 8 và Bước 9)
7. Nếu xác thực được thông qua, tức là nhận được Access-Accept từ máy chủ radius, Omada Controller sẽ chuyển hướng trang thành công được tích hợp sẵn hoặc trang web được xác định trước theo cấu hình của máy khách. (Bước 10)
Lưu ý:
1. Máy khách phải gửi HTTP / HTTPS POST tới Controller ở bước 7 vì Controller 4.1.5 (hoặc cao hơn) không hỗ trợ HTTP / HTTPS GET theo cách này.
2. Nếu Controller của bạn (4.1.5 trở lên) được nâng cấp từ Controller 3. x.x, hãy lưu ý rằng chúng tôi đã thay đổi một số “Tên” của các tham số.
Tên(V3.x) |
Tên(V4.x) |
Loại |
Remark |
clientMac |
clientMac |
string |
client MAC address |
clientIp |
clientIp |
string |
client IP address |
ap |
apMac |
string |
AP MAC address(only for ap) |
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 |
3. Trong bước 7, nếu biểu mẫu của bạn có các ký tự không phải ASCII (chẳng hạn như tên SSID là tiếng Trung hoặc các ngôn ngữ khác), mã hóa UTF-8 phải được sử dụng khi gửi HTTP / HTTPS POST tới Controller.
4. Vui lòng lưu ý trường “Access-Control-Allow-Origin: URL” cho Controller 5.0 trở lên.
Mẫu html dưới đây là một bản trình diễn đơn giản để bạn phát triển External Web Portal của mình hoạt động với Omada Controller bằng định dạng JSON:
External Web Server Demo (JSON)
Mẫu html dưới đây là một bản trình diễn khác sử dụng biểu mẫu HTML:
External Web Server Demo (HTML form)
Câu hỏi thường gặp này có hữu ích không?
Phản hồi của bạn giúp cải thiện trang web này.