邮件分布向导在哪(邮件分布向导在哪里)
912
2022-05-30
快速开始
接口概述
第三方认证主要应用于商业Wi-Fi终端用户在商场、大型综超、酒店、机场等场所通过Wi-Fi访问互联网的场景。第三方合作伙伴为终端用户提供认证Portal页面,并调用第三方认证API或通过标准RADIUS协议对用户授权,使能终端用户接入网络。从而实现认证、计费等基础服务,以及用户分析、市场营销等增值服务。
在第三方认证中只有云平台中继认证才会需要进行二次开发,当前支持的云平台中继认证有如下两种:
方式1:云平台中继认证(API方式)
方式2:云平台中继认证(RADIUS方式)
方式1:云平台中继认证(API方式)
终端用户在访问互联网时,连接Wi-Fi的SSID,登录由第三方系统推送的Portal页面进行认证。第三方系统调用华为iMaster NCE-Campus平台认证授权API,给AP设备授权终端Wi-Fi接入权限,从而使终端用户访问互联网。
iMaster NCE-Campus与第三方系统通过API方式交互
第三方认证系统,可以根据客户需求进行Portal页面定制、广告推送等应用。主要包含如下两大子系统:
Portal Server:用于提供Portal 认证功能。
授权平台:用于调用iMaster NCE-Campus的API接口,实现对终端的控制能力(如授权、授权结果查询、强制用户下线等)。
登录认证
客户端向服务器下发登录认证请求,服务器返回一个Token和过期时间。
此处为模拟调测环境,已经为各位开发者创建好北向用户帐号。在调用真实环境的北向接口之前,应在iMaster NCE-Campus上创建具有Open Api Operator角色的帐号,用于获取Token。操作详情请参见创建北向用户。
请求URL
获取Token值使用如下URL:
https://devzone.huawei.com/cloudcampusdb/controller/v2/tokens
Headers
此API使用如下Headers参数进行登录认证:
请求示例
请求参数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'
登录认证成功响应
{ "errcode": "0", "errmsg": "get token successfully.", "data": { "expiredDate": "2020-01-08T17:10:11,887+08:00", "token_id": "aHVhd2VpcGFvZnU6SHVhd2VpMTIjJA==" }}
下发RESTful请求
客户端携带上面的Token再下发RESTful请求给服务器。
请求URL
调用查询用户组API使用如下URL:
https://devzone.huawei.com/cloudcampusdb/controller/campus/v1/accountservice/usergroups
Headers
此API使用如下Headers参数下发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'
响应
{ "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": ""}
向导
创建北向用户
使用华为云帐号登录沙箱预约系统。
请参考预约实验室使用指导,完成实验室预约。
进入“我的环境 > 物理实验室”,当实验室为 active 状态时,单击已预约实验室操作列表的“体验”,进入体验界面。
单击iMaster NCE-Campus图标,在“属性”页签获取iMaster NCE-Campus 的IP、用户名和密码(使用此用户名和密码登录iMaster NCE-Campus,用于创建北向用户)。
鼠标悬浮至iMaster NCE-Campus图标,单击
,可使用上面获取的用户名和密码登录到iMaster NCE-Campus。
选择“系统 > 系统管理 > 管理员”,在“用户”页签中单击“创建”,创建Open Api Operator帐号。请将“首次登录修改密码”选择“否”。
两次单击“下一步”。
单击“确定”。
REST API
约束与注意
接口的输入参数、请求消息体、结果消息体统一采用UTF-8编码。
通过PUT进行修改操作时,如果非必填字段在报文中未携带,或填为null,则此字段维持原值,不作修改。若想清空一个string字段,可以填入空字符串””。
HTTP Header中,可以通过Accept-Language设置en-US来指定返回信息为英文,若不指定Accept-Language,则默认返回英文信息。
通过API创建的数据,不能在iMaster NCE-Campus界面上删除。
所有API的请求报文中Host端口号由18008改为18002。
所有API的接口使用的是北向IP。
API接口调用会话超时时间默认设置为10分钟,若10分钟内无会话交互,则系统会自动清理会话session。
接口规范
iMaster NCE-Campus的所有REST接口的URL地址均遵从下述规范:
OP:对应方法,方法包括POST、PUT、DELETE、GET。
service-path:REST API微服务路径。
resource:操作的资源路径。
query:参数集。使用“name=value”对标识。
HTTP Headers
iMaster NCE-Campus对REST接口的Headers进行了一定的限制,主要包括如下几个参数:
Content-Type:包含了文档的“mime-type”。浏览器将会依据该参数决定如何对文档进行解析。
Accept:表示浏览器可接受的MIME类型。浏览器将会依据该参数决定接受何种参数格式。
Accept-Language:服务器端可接受的语言类型默认为en-US。
X-ACCESS-TOKEN:发送Token信息给服务器。
方法说明
状态码定义
RESTful采用HTTP状态码来报告操作结果。
Java SDK向导
准备工作
如果您还没有下载Java SDK,请先点击这里CloudCampus Java SDK JAR下载我们的SDK JAR文件,SDK源码请参考CloudCampus Java SDK Sources。
注:推荐使用JDK1.8及以上版本。
导入SDK包
将您下载的SDK JAR包导入您的Java工程,如果您使用maven构建您的工程,使用此命令将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.ApiClient类来初始化您的SDK,您需要配置北向API使用的端口号(18002),iMaster NCE-Campus控制器的IP以及北向帐号和密码(请参考创建北向用户),如下所示:
ApiClient apiClient = new ApiClient(); apiClient.setTenantName("tenant@north.com"); apiClient.setTenantPwd("Admin@1234"); apiClient.setHost("139.9.213.72"); apiClient.setPort("18002");
SDK使用示例
根据授权回话ID,查询授权结果:
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);
Python SDK向导
准备工作
如果您还没有下载Python SDK,请先点击这里CloudCampus Python SDK Sources下载我们的Python SDK源码文件。
安装SDK
下载完成后,解压文件。打开cmd命令行,运行如下命令进入CloudCampus Python SDK源码文件夹,例如运行如下命令:
cd FilesPath
FilesPath为CloudCampus Python SDK源码文件夹
运行如下命令安装Python SDK:
pip install -r requirements.txt
python setup.py install
安装完成后,运行如下命令查看SDK是否安装成功:
pip list
导入SDK包
以查询授权结果接口为例:
导入ApiClient、Configuration,和本次调用的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以及北向帐号和密码(请参考创建北向用户),如下所示:
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使用示例
根据授权回话ID,查询授权结果:
api = ClientUserManagerApi(api_client)psessionid = '5ea660be98a84618fa3d6d03f65f47ab578ba3b4216790186a932f9e8c8c880d'nodeIp = '192.168.211.236'model = api.get_authorizationresult(psessionid=psessionid, node_ip=nodeIp)
方式2:云平台中继认证(RADIUS方式)
认证流程
终端用户在访问互联网时,连接Wi-Fi的SSID,登录由第三方系统推送的Portal页面进行认证。第三方系统与华为iMaster NCE-Campus云平台通过标准RADIUS协议对接,实现Portal认证和计费等功能。
iMaster NCE-Campus与第三方系统交互流程
支持的RADIUS消息
iMaster NCE-Campus作为中继角色,可以将RADIUS消息发送给第三方的RADIUS服务器,实现认证、授权和计费功能。支持的RADIUS消息字段如下所示:
认证消息列表
授权消息列表
计费消息列表
智简网络 网络
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。