園區(qū)第三方認(rèn)證類API概述向?qū)?/a>

      網(wǎng)友投稿 1063 2022-05-30

      快速開始

      接口概述

      第三方認(rèn)證主要應(yīng)用于商業(yè)Wi-Fi終端用戶在商場、大型綜超、酒店、機(jī)場等場所通過Wi-Fi訪問互聯(lián)網(wǎng)的場景。第三方合作伙伴為終端用戶提供認(rèn)證Portal頁面,并調(diào)用第三方認(rèn)證API或通過標(biāo)準(zhǔn)RADIUS協(xié)議對用戶授權(quán),使能終端用戶接入網(wǎng)絡(luò)。從而實(shí)現(xiàn)認(rèn)證、計費(fèi)等基礎(chǔ)服務(wù),以及用戶分析、市場營銷等增值服務(wù)。

      在第三方認(rèn)證中只有云平臺中繼認(rèn)證才會需要進(jìn)行二次開發(fā),當(dāng)前支持的云平臺中繼認(rèn)證有如下兩種:

      方式1:云平臺中繼認(rèn)證(API方式)

      方式2:云平臺中繼認(rèn)證(RADIUS方式)

      方式1:云平臺中繼認(rèn)證(API方式)

      終端用戶在訪問互聯(lián)網(wǎng)時,連接Wi-Fi的SSID,登錄由第三方系統(tǒng)推送的Portal頁面進(jìn)行認(rèn)證。第三方系統(tǒng)調(diào)用華為iMaster NCE-Campus平臺認(rèn)證授權(quán)API,給AP設(shè)備授權(quán)終端Wi-Fi接入權(quán)限,從而使終端用戶訪問互聯(lián)網(wǎng)。

      iMaster NCE-Campus與第三方系統(tǒng)通過API方式交互

      第三方認(rèn)證系統(tǒng),可以根據(jù)客戶需求進(jìn)行Portal頁面定制、廣告推送等應(yīng)用。主要包含如下兩大子系統(tǒng):

      Portal Server:用于提供Portal 認(rèn)證功能。

      授權(quán)平臺:用于調(diào)用iMaster NCE-Campus的API接口,實(shí)現(xiàn)對終端的控制能力(如授權(quán)、授權(quán)結(jié)果查詢、強(qiáng)制用戶下線等)。

      登錄認(rèn)證

      客戶端向服務(wù)器下發(fā)登錄認(rèn)證請求,服務(wù)器返回一個Token和過期時間。

      此處為模擬調(diào)測環(huán)境,已經(jīng)為各位開發(fā)者創(chuàng)建好北向用戶帳號。在調(diào)用真實(shí)環(huán)境的北向接口之前,應(yīng)在iMaster NCE-Campus上創(chuàng)建具有Open Api Operator角色的帳號,用于獲取Token。操作詳情請參見創(chuàng)建北向用戶。

      請求URL

      獲取Token值使用如下URL:

      https://devzone.huawei.com/cloudcampusdb/controller/v2/tokens

      Headers

      此API使用如下Headers參數(shù)進(jìn)行登錄認(rèn)證:

      請求示例

      請求參數(shù)userName 和password為您的華為云帳號和密碼。

      curl?-X?POST?--header?'Content-Type:?application/json'?--header?'Accept:?application/json'?--header?'Accept-Language:?en-US'?-d?'{"userName":"huaweiUser","password":"huaweiPassword"}'?'https://devzone.huawei.com/cloudcampusdb/controller/v2/tokens'

      登錄認(rèn)證成功響應(yīng)

      {????"errcode":?"0",????"errmsg":?"get?token?successfully.",????"data":?{????????"expiredDate":?"2020-01-08T17:10:11,887+08:00",????????"token_id":?"aHVhd2VpcGFvZnU6SHVhd2VpMTIjJA=="????}}

      下發(fā)RESTful請求

      客戶端攜帶上面的Token再下發(fā)RESTful請求給服務(wù)器。

      請求URL

      調(diào)用查詢用戶組API使用如下URL:

      https://devzone.huawei.com/cloudcampusdb/controller/campus/v1/accountservice/usergroups

      Headers

      此API使用如下Headers參數(shù)下發(fā)RESTful請求:

      請求示例

      X-ACCESS-TOKEN取值為已獲取的Token值token_id。

      curl?-X?POST?--header?'Content-Type:?application/json'?--header?'Accept:?application/json'?--header?'Accept-Language:?en-US'?--header?'X-ACCESS-TOKEN:?aHVhd2VpcGFvZnU6SHVhd2VpMTIjJA=='?-d?'{"parentId":"?a91e1696-02a2-4a68-bad4-aa639359c8cf","name":"friendName","address":"Xihu?North?Community","postalCode":"125744","adminEmail":"admin%40huawei.com","description":"common?user?group"}'?'https://devzone.huawei.com/cloudcampusdb/controller/campus/v1/accountservice/usergroups'

      響應(yīng)

      {?????"data":?{??????????"address":?"Xihu?North?Community",??????????"adminEmail":?"admin%40huawei.com",??????????"bsid":?"",??????????"description":?"common?user?group",??????????"fullPathName":?"",??????????"id":?"3e7d7186-dff6-48cf-8254-61cceae00090",??????????"name":?"friendName",??????????"orderId":?0,??????????"parentId":?"a91e1696-02a2-4a68-bad4-aa639359c8cf",??????????"postalCode":?"125744"?????},?????"errcode":?"0",?????"errmsg":?""}

      向?qū)?/p>

      創(chuàng)建北向用戶

      使用華為云帳號登錄沙箱預(yù)約系統(tǒng)。

      請參考預(yù)約實(shí)驗(yàn)室使用指導(dǎo),完成實(shí)驗(yàn)室預(yù)約。

      進(jìn)入“我的環(huán)境 > 物理實(shí)驗(yàn)室”,當(dāng)實(shí)驗(yàn)室為 active 狀態(tài)時,單擊已預(yù)約實(shí)驗(yàn)室操作列表的“體驗(yàn)”,進(jìn)入體驗(yàn)界面。

      單擊iMaster NCE-Campus圖標(biāo),在“屬性”頁簽獲取iMaster NCE-Campus 的IP、用戶名和密碼(使用此用戶名和密碼登錄iMaster NCE-Campus,用于創(chuàng)建北向用戶)。

      鼠標(biāo)懸浮至iMaster NCE-Campus圖標(biāo),單擊

      ,可使用上面獲取的用戶名和密碼登錄到iMaster NCE-Campus。

      選擇“系統(tǒng) > 系統(tǒng)管理 > 管理員”,在“用戶”頁簽中單擊“創(chuàng)建”,創(chuàng)建Open Api Operator帳號。請將“首次登錄修改密碼”選擇“否”。

      兩次單擊“下一步”。

      單擊“確定”。

      REST API

      約束與注意

      接口的輸入?yún)?shù)、請求消息體、結(jié)果消息體統(tǒng)一采用UTF-8編碼。

      通過PUT進(jìn)行修改操作時,如果非必填字段在報文中未攜帶,或填為null,則此字段維持原值,不作修改。若想清空一個string字段,可以填入空字符串””。

      HTTP Header中,可以通過Accept-Language設(shè)置en-US來指定返回信息為英文,若不指定Accept-Language,則默認(rèn)返回英文信息。

      通過API創(chuàng)建的數(shù)據(jù),不能在iMaster NCE-Campus界面上刪除。

      所有API的請求報文中Host端口號由18008改為18002。

      所有API的接口使用的是北向IP。

      API接口調(diào)用會話超時時間默認(rèn)設(shè)置為10分鐘,若10分鐘內(nèi)無會話交互,則系統(tǒng)會自動清理會話session。

      接口規(guī)范

      iMaster NCE-Campus的所有REST接口的URL地址均遵從下述規(guī)范:

      ?/??/????

      OP:對應(yīng)方法,方法包括POST、PUT、DELETE、GET。

      service-path:REST API微服務(wù)路徑。

      resource:操作的資源路徑。

      query:參數(shù)集。使用“name=value”對標(biāo)識。

      HTTP Headers

      iMaster NCE-Campus對REST接口的Headers進(jìn)行了一定的限制,主要包括如下幾個參數(shù):

      Content-Type:包含了文檔的“mime-type”。瀏覽器將會依據(jù)該參數(shù)決定如何對文檔進(jìn)行解析。

      Accept:表示瀏覽器可接受的MIME類型。瀏覽器將會依據(jù)該參數(shù)決定接受何種參數(shù)格式。

      Accept-Language:服務(wù)器端可接受的語言類型默認(rèn)為en-US。

      X-ACCESS-TOKEN:發(fā)送Token信息給服務(wù)器。

      方法說明

      狀態(tài)碼定義

      RESTful采用HTTP狀態(tài)碼來報告操作結(jié)果。

      Java SDK向?qū)?/p>

      準(zhǔn)備工作

      如果您還沒有下載Java SDK,請先點(diǎn)擊這里CloudCampus Java SDK JAR下載我們的SDK JAR文件,SDK源碼請參考CloudCampus Java SDK Sources。

      注:推薦使用JDK1.8及以上版本。

      導(dǎo)入SDK包

      將您下載的SDK JAR包導(dǎo)入您的Java工程,如果您使用maven構(gòu)建您的工程,使用此命令將SDK安裝到您的maven本地倉:

      mvn?org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file?-Dfile=cloudcampus-1.0.0.jar

      隨后在您的maven工程的pom.xml文件中引入SDK依賴:

      ????com.huawei.cloudcampus.api????cloudcampus????1.0.0??

      初始化客戶端

      使用com.huawei.cloudcampus.api.ApiClient類來初始化您的SDK,您需要配置北向API使用的端口號(18002),iMaster NCE-Campus控制器的IP以及北向帳號和密碼(請參考創(chuàng)建北向用戶),如下所示:

      ApiClient?apiClient?=?new?ApiClient();?apiClient.setTenantName("tenant@north.com");?apiClient.setTenantPwd("Admin@1234");?apiClient.setHost("139.9.213.72");?apiClient.setPort("18002");

      SDK使用示例

      根據(jù)授權(quán)回話ID,查詢授權(quán)結(jié)果:

      ClientUserManagerApi?api?=?new?ClientUserManagerApi(apiClient);Gson?gson?=?new?Gson();String?psessionid?=?"5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d";String?nodeIp?=?"192.168.211.236";CommonAuthorizationOutputDto?response?=?api.getAuthorizationresult(psessionid,?nodeIp);String?result?=?gson.toJson(response);System.out.println(result);

      園區(qū)第三方認(rèn)證類API概述及向?qū)? title=

      Python SDK向?qū)?/p>

      準(zhǔn)備工作

      如果您還沒有下載Python SDK,請先點(diǎn)擊這里CloudCampus Python SDK Sources下載我們的Python SDK源碼文件。

      安裝SDK

      下載完成后,解壓文件。打開cmd命令行,運(yùn)行如下命令進(jìn)入CloudCampus Python SDK源碼文件夾,例如運(yùn)行如下命令:

      cd?FilesPath

      FilesPath為CloudCampus Python SDK源碼文件夾

      運(yùn)行如下命令安裝Python SDK:

      pip?install?-r?requirements.txt

      python?setup.py?install

      安裝完成后,運(yùn)行如下命令查看SDK是否安裝成功:

      pip?list

      導(dǎo)入SDK包

      以查詢授權(quán)結(jié)果接口為例:

      導(dǎo)入ApiClient、Configuration,和本次調(diào)用的api(ClientUserManagerApi)

      from?swagger_client.api_client?import?ApiClientfrom?swagger_client.apis.client_user_manager_api?import?ClientUserManagerApifrom?swagger_client.configuration?import?Configuration

      初始化客戶端

      使用ApiClient類來初始化您的SDK,您需要配置北向API使用的端口號(18002),iMaster NCE-Campus控制器的IP以及北向帳號和密碼(請參考創(chuàng)建北向用戶),如下所示:

      tenantName?=?'tenant@north.com'tenantPwd?=?'Admin@1234'host?=?'139.9.213.72'port?=?'18002'config?=?Configuration(host,?port,?tenantName,?tenantPwd)api_client?=?ApiClient(config)

      SDK使用示例

      根據(jù)授權(quán)回話ID,查詢授權(quán)結(jié)果:

      api?=?ClientUserManagerApi(api_client)psessionid?=?'5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d'nodeIp?=?'192.168.211.236'model?=?api.get_authorizationresult(psessionid=psessionid,?node_ip=nodeIp)

      方式2:云平臺中繼認(rèn)證(RADIUS方式)

      認(rèn)證流程

      終端用戶在訪問互聯(lián)網(wǎng)時,連接Wi-Fi的SSID,登錄由第三方系統(tǒng)推送的Portal頁面進(jìn)行認(rèn)證。第三方系統(tǒng)與華為iMaster NCE-Campus云平臺通過標(biāo)準(zhǔn)RADIUS協(xié)議對接,實(shí)現(xiàn)Portal認(rèn)證和計費(fèi)等功能。

      iMaster NCE-Campus與第三方系統(tǒng)交互流程

      支持的RADIUS消息

      iMaster NCE-Campus作為中繼角色,可以將RADIUS消息發(fā)送給第三方的RADIUS服務(wù)器,實(shí)現(xiàn)認(rèn)證、授權(quán)和計費(fèi)功能。支持的RADIUS消息字段如下所示:

      認(rèn)證消息列表

      授權(quán)消息列表

      計費(fèi)消息列表

      智簡網(wǎng)絡(luò) 網(wǎng)絡(luò)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:【山外筆記-工具框架】SVN版本控制系統(tǒng)
      下一篇:三大前端技術(shù)(React,Vue,Angular)探密
      相關(guān)文章
      在线观看亚洲成人| 亚洲中文字幕不卡无码| 久久亚洲精品国产精品黑人| 亚洲色婷婷一区二区三区| 亚洲无码精品浪潮| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲视频在线观看视频| 亚洲小视频在线观看| 久久夜色精品国产噜噜噜亚洲AV | 亚洲AV成人无码久久WWW| 亚洲精品乱码久久久久久V| 亚洲av无码专区国产不乱码 | 亚洲av无码国产精品色在线看不卡| 国产精品亚洲а∨无码播放不卡| 色欲aⅴ亚洲情无码AV| 亚洲国产精品尤物YW在线观看| 亚洲国产a级视频| 日韩亚洲变态另类中文| 国产成人精品日本亚洲| 亚洲高清视频在线观看| 中文字幕亚洲第一在线| 亚洲国产成人精品青青草原| 亚洲男人天堂2018av| 亚洲va中文字幕| 亚洲精品无码久久久久AV麻豆| 中文字幕亚洲一区二区va在线| 亚洲精品成人片在线播放| 亚洲精品高清国产一久久| 亚洲无线一二三四区| 亚洲国产区男人本色在线观看| 亚洲成在人线aⅴ免费毛片 | 亚洲精品无码久久久| 国产精品亚洲A∨天堂不卡 | 亚洲天堂电影在线观看| 亚洲kkk4444在线观看| 麻豆亚洲AV成人无码久久精品| 亚洲日韩涩涩成人午夜私人影院| 亚洲熟妇中文字幕五十中出| 久久亚洲精品成人av无码网站| 亚洲av永久无码精品天堂久久 | 亚洲短视频在线观看|