平臺中繼認證(API方式)方案(云平臺api接口)

      網友投稿 639 2025-03-31

      本文檔介紹的是通過調用API方式對訪客進行授權,允許訪客接入網絡的方案。

      功能概述

      第三方認證主要應用于商業Wi-Fi終端用戶在商場酒店、機場地鐵、企業來訪等情景通過Wi-Fi訪問互聯網的場景,需要對接入網絡的訪客進行用戶認證,同時提供宣傳,推薦及營銷等功能,通過認證的訪客被允許接入Wi-Fi使用網絡。

      第三方合作伙伴或開發者為接入訪客提供認證Portal頁面(如下圖),并調用華為iMaster NCE-Campus API授權接口,或通過標準Radius協議與iMaster NCE-Campus交互,從而實現認證、計費、用戶分析、市場營銷等服務。

      環境拓撲

      此方案中由華為網絡設備(Cloud AP)提供接入網絡等功能,由華為云平臺(iMaster NCE-Campus)提供用戶授權管理、設備管理功能,由開發者應用提供Portal推送,校驗信息等功能。

      認證流程

      終端用戶在需要訪問互聯網時,連接Wi-Fi的SSID,登錄由開發者應用推送的Portal頁面進行認證。開發者應用調用華為iMaster NCE-Campus云平臺認證授權API,給AP設備授權終端用戶的Wi-Fi接入權限,從而終端用戶可以訪問互聯網。

      圖1 iMaster NCE-Campus與開發者應用通過API方式交互

      開發者應用,可以根據客戶需求進行Portal頁面定制、廣告推送等應用,主要包含如下兩大子系統:

      Portal Server:用于提供訪客的Portal認證,廣告推送等功能。

      授權平臺:用于在合適的場景調用云平臺的API接口,實現對終端的接入控制能力(如授權終端權限、查詢授權結果、強制用戶下線等)。

      訪客接入流程

      Step 1

      訪客接入Wi-Fi網絡,訪問任意頁面(例如http://1.1.1.1/),經過AP轉發時,被AP重定向到云平臺上(189.180.13.187是云平臺的地址),重定向時會攜帶ap-mac, redirect-url, SSID, uaddress, umac等信息給云平臺。

      Step 2

      云平臺收到訪問請求,重定向到配置的第三方Portal界面,攜帶apmac,uaddress,umac,SSID(base64加密后),nodeIp,siteId等信息給開發者應用,用于記錄和分析。

      Step 3

      用戶訪問到第三方Portal界面,填入用戶名和密碼后單擊“登錄”。瀏覽器將用戶名和密碼POST到開發者應用的后臺。

      Step 4

      開發者應用后臺收到用戶信息后,應用進行用戶信息校驗,校驗通過后通過調用華為云平臺授權終端用戶的API接口,對此用戶進行授權,放通用戶的網絡權限。放通權限后,開發者應用再調用云平臺的查詢授權結果接口,如果返回200 OK,則說明用戶已獲取網絡權限。

      調用授權API后的用戶狀態為success狀態:

      Step 5

      開發者應用確認用戶已獲取網絡權限后,重定向瀏覽器界面至登錄成功頁面,用戶上線流程結束。

      Step 6

      用戶想要主動下線時,單擊“注銷”。開發者應用收到相應后,查找此用戶對應信息,調用華為云平臺的強制用戶下線API,收回用戶的網絡權限。

      調用結束后,重定向瀏覽器界面至注銷成功頁面,此時用戶在訪問網絡時需要重新登錄。

      調用的API信息

      授權終端用戶

      典型場景

      用戶授權接口。

      接口功能

      根據認證用戶信息,授予用戶對應權限。

      接口約束

      該接口支持北向操作管理員訪問,必須在用戶會話建立后使用。

      調用方法

      POST

      URI

      /controller/cloud/v2/northbound/accessuser/haca/authorization

      請求參數

      表1 body參數列表

      表2 body對象的參數列表

      請求示例

      cURL的示例

      curl -k -s -L -i -X POST -H 'Content-Type: application/json' -H 'accept: application/json' -H 'Accept-Language: en-US' -H 'X-ACCESS-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925' 'https://192.168.1.125:18002/controller/cloud/v2/northbound/accessuser/haca/authorization' -d '{

      "deviceMac": "4C-FA-CA-1F-02-00",

      "deviceEsn": "21500829352SG5900059",

      "apMac": "4C-FA-CA-C1-9C-20",

      "ssid": "dcd=",

      "policyName": "aa",

      "terminalIpV4": "10.66.85.177",

      "terminalIpV6": "1030::C9B4:FF12:48AA:1A2B",

      "terminalMac": "64-80-99-CF-8A-32",

      "userName": "test",

      "nodeIp": "192.168.211.236",

      "temPermitTime": 300

      }'

      HTTP的示例

      POST /controller/cloud/v2/northbound/accessuser/haca/authorization HTTP/1.1

      Host: 192.168.1.125:18002

      Content-Type: application/json

      Accept: application/json

      Accept-Language: en-US

      X-ACCESS-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925

      {

      "deviceMac": "4C-FA-CA-1F-02-00",

      "deviceEsn": "21500829352SG5900059",

      "apMac": "4C-FA-CA-C1-9C-20",

      "ssid": "dcd=",

      "policyName": "aa",

      "terminalIpV4": "10.66.85.177",

      "terminalIpV6": "1030::C9B4:FF12:48AA:1A2B",

      "terminalMac": "64-80-99-CF-8A-32",

      "userName": "test",

      "nodeIp": "192.168.211.236",

      "temPermitTime": 300

      }

      響應參數

      云平臺中繼認證(API方式)方案(云平臺api接口)

      返回狀態碼為200:操作成功,返回會話ID。

      表3 CommonAuthorizationOutputDto對象的參數列表

      返回狀態碼為400:校驗異常。

      詳細信息請參見實際響應消息體。

      返回狀態碼為500:內部錯誤。

      詳細信息請參見實際響應消息體。

      響應示例

      HTTP/1.1 200 OK

      Date: Sun,20 Jan 2019 10:00:00 GMT

      Server: example-server

      Content-Type: application/json;charset=UTF-8

      Content-Length: 250

      Connection: keep-alive

      {

      "errcode": "0",

      "errmsg": "",

      "psessionid": "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d"

      }

      強制用戶下線

      典型場景

      提供強制用戶下線北向接口。

      接口功能

      強制用戶下線。

      接口約束

      該接口支持北向操作管理員訪問,必須在用戶會話建立后使用。

      調用方法

      POST

      URI

      /controller/cloud/v2/northbound/accessuser/haca/cutuser

      請求參數

      表4 body參數列表

      表5 body對象的參數列表

      表6 thirdUserInfos對象的參數列表

      請求示例

      cURL的示例

      curl -k -s -L -i -X POST -H 'Content-Type: application/json' -H 'accept: application/json' -H 'Accept-Language: en-US' -H 'X-ACCESS-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925' 'https://192.168.1.125:18002/controller/cloud/v2/northbound/accessuser/haca/cutuser' -d '{

      "thirdUserInfos": [{

      "deviceMac": "4C-FA-CA-1F-02-00",

      "deviceEsn": "21500829352SG5900059",

      "terminalIpV4": "10.66.85.177",

      "terminalIpV6": "1030::C9B4:FF12:48AA:1A2B",

      "terminalMac": "64-80-99-CF-8A-32",

      "userName": "test",

      "psessionid": "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d",

      "nodeIp": "192.168.211.236"

      }]

      }'

      HTTP的示例

      POST /controller/cloud/v2/northbound/accessuser/haca/cutuser HTTP/1.1

      Host: 192.168.1.125:18002

      Content-Type: application/json

      Accept: application/json

      Accept-Language: en-US

      X-ACCESS-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925

      {

      "thirdUserInfos": [{

      "deviceMac": "4C-FA-CA-1F-02-00",

      "deviceEsn": "21500829352SG5900059",

      "terminalIpV4": "10.66.85.177",

      "terminalIpV6": "1030::C9B4:FF12:48AA:1A2B",

      "terminalMac": "64-80-99-CF-8A-32",

      "userName": "test",

      "psessionid": "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d",

      "nodeIp": "192.168.211.236"

      }]

      }

      響應參數

      返回狀態碼為200:查詢成功。

      表7 CutUserOutputDto對象的參數列表

      表8 success對象的參數列表

      表9 failure對象的參數列表

      返回狀態碼為400:校驗異常。

      詳細信息請參見實際響應消息體。

      返回狀態碼為500:內部錯誤。

      詳細信息請參見實際響應消息體。

      響應示例

      HTTP/1.1 200 OK

      Date: Sun,20 Jan 2019 10:00:00 GMT

      Server: example-server

      Content-Type: application/json;charset=UTF-8

      Content-Length: 250

      Connection: keep-alive

      {

      "errcode": "0",

      "errmsg": "",

      "success": [{

      "message": "success",

      "psessionid": "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d"

      }],

      "failure": [{

      "message": "success",

      "psessionid": "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d"

      }]

      }

      查詢授權結果

      典型場景

      提供授權結果查詢北向接口。

      接口功能

      根據授權回話ID,查詢授權結果。

      接口約束

      該接口支持北向操作管理員訪問,必須在用戶會話建立后使用。

      調用方法

      GET

      URI

      /controller/cloud/v2/northbound/accessuser/haca/authorizationresult/{psessionid}

      表10 path參數列表

      表11 query參數列表

      請求參數

      請求示例

      cURL的示例

      curl?-k?-s?-L?-i?-X?GET?-H?'Content-Type:?application/json'?-H?'accept:?application/json'?-H?'Accept-Language:?en-US'?-H?'X-ACCESS-TOKEN:?CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925'?'https://192.168.1.125:18002/controller/cloud/v2/northbound/accessuser/haca/authorizationresult/5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d?nodeIp=192.168.211.236'

      HTTP的示例

      GET /controller/cloud/v2/northbound/accessuser/haca/authorizationresult/5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d?nodeIp=192.168.211.236 HTTP/1.1

      Host: 192.168.1.125:18002

      Content-Type: application/json

      Accept: application/json

      Accept-Language: en-US

      X-ACCESS-TOKEN: CA48D152F6B19D84:637C38259E6974E17788348128A430FEE150E874752CE754B6BF855281219925

      響應參數

      返回狀態碼為200:添加成功。

      表12 CommonAuthorizationOutputDto對象的參數列表

      返回狀態碼為400:校驗異常。

      詳細信息請參見實際響應消息體。

      返回狀態碼為500:內部錯誤。

      詳細信息請參見實際響應消息體。

      響應示例

      HTTP/1.1 200 OK

      Date: Sun,20 Jan 2019 10:00:00 GMT

      Server: example-server

      Content-Type: application/json;charset=UTF-8

      Content-Length: 250

      Connection: keep-alive

      {

      "errcode": "0",

      "errmsg": "",

      "psessionid": "5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d"

      }

      附件

      API方式訪客接入流程的完整HTTP請求信息:

      點擊查看

      參考

      您可以前往智簡園區網絡開發者社區,了解更多相關的信息。

      智簡園區 網絡

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel怎么將橫排文字變成豎排?
      下一篇:做好統計報表的作用(數據統計表的作用)
      相關文章
      亚洲精品精华液一区二区 | 亚洲欧美日韩综合久久久久| 亚洲Av综合色区无码专区桃色| 亚洲日韩VA无码中文字幕| 亚洲AV无码片一区二区三区| 亚洲中文字幕精品久久| 99久久国产亚洲综合精品| 2020年亚洲天天爽天天噜| 亚洲AV色吊丝无码| 亚洲娇小性xxxx色| 国产成人精品日本亚洲专一区| 亚洲午夜精品久久久久久人妖| 亚洲免费人成在线视频观看| 国产a v无码专区亚洲av| 中文字幕亚洲专区| 亚洲精品一品区二品区三品区| 亚洲日韩av无码| 国产亚洲综合一区柠檬导航| 亚洲成a人片77777kkkk| 亚洲欧洲日韩不卡| 亚洲国产综合精品| 欧洲 亚洲 国产图片综合| 亚洲日韩国产AV无码无码精品| 中文无码亚洲精品字幕| 亚洲欧美国产精品专区久久| 亚洲av无码成人影院一区| www亚洲精品少妇裸乳一区二区| 亚洲精品高清一二区久久| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久精品国产亚洲一区二区三区| 亚洲综合色区在线观看| 亚洲日本va中文字幕久久| 亚洲av女电影网| 亚洲欧洲日本天天堂在线观看| 亚洲va在线va天堂va手机| 亚洲欧洲日产国码久在线| 国产亚洲成在线播放va| 亚洲精品综合久久| 久久亚洲国产精品一区二区| 亚洲天天做日日做天天看| 亚洲国产成人无码av在线播放|