3国家虚拟仿真实验教学项目技术接口规范(2018版)一、技术接口说明服务"国家虚拟仿真实验教学项目共享平台(实验空间)"(以下简称:实验空间)的用户与学校实验教学项目的用户管理系统之间的身份自动识别,避免二次登录.
识别后的用户在学校实验教学项目上的相关数据,将自动回传到国家虚拟仿真实验教学项目共享平台,支撑数据统计和监测.
数据接口方式分两种,分别是:用户验证令牌方式和验证接口方式.
基于C/S架构的应用只能选择验证接口方式.
本文中所有Host站点统一为:http://www.
ilab-x.
com.
技术接口实现路径如下图所示.
二、用户身份识别规范当用户登录"实验空间"后点击【我要做实验】时(如下图),"实验空间"会以参数形式提供Token.
链接组成样例:实验平台的URLtoken,例如:http://life.
scnu.
edu.
cn/biology/vrlab/co2/token=AAABZKECn4ABAAAAAAABhqM%3D.
fKf3J5DN6Ym0Fo3I5CJYdzQMR0iwEz7QnQIit2Mfl6v03jpEJ%2Fr4FMRFqh5kN4yw.
tqIPoyvkHe2MGOXMimE9O554Lo6AbBCQkZlsqQI4XRQ%3D实验空间用户验证时使用XJWT标准,此标准基于JSONWebToken(JWT)开发.
XJWT包含三个参数:header,payload,signature,因此生成token就要先获得这三个参数.
(一)用户验证令牌token.
token的组成结构:based64(rawheader)base64(rawpayload)+'.
'+base64(rawsignature)token组成参数header,payload,signature说明如下:1.
header.
组成结构:[expiry:long][type:byte][issuerid:long]参数说明:项目说明expiry过期时间,UTC以毫秒为单位,二进制8byte,Bigendian.
type类别,值为二进制,必填.
1-JSON,2-SYS.
0-保留Issuerid由"实验空间"分配给各实验平台的唯一编号,二进制8byte,Bigendian.
2.
payload.
payload是64bytes的整数倍.
其组成结构:aes256(randomlong+body+aespadding,aeskey).
其中:aes256是AES256加密算法;randomlong是随机的8byte数字;aespadding是自定义的字符串,为补足64bytes的整数倍;aeskey由"实验空间"生成分配给各实验教学项目.
body为UTF8编码的JSON格式字符串,格式如下表:项目说明id用户id.
un用户usernamedis用户姓名显示3.
signature.
组成结构:base64(HmacSHA256(based64(rawheader)base64(rawpayload),secretkey))其中:rawheader是上述中生成的header;rawpayload是上述中生成的payload;secretkey是生成aeskey的密码,由"实验空间"提供.
4.
验证与解密.
使用base64解码signature,通过secretkey验证,如果验证失败,则token失效.
使用base64解码header,将得到的过期时间(expiry)和当前时间进行比较,如果已过期,则token失效;如果没有提供headertype,则token失效;使用base64解码,并使用aeskey进行解密,得到的数据前8byte和aespadding数据将被丢弃,返回剩余的数据json.
各实验教学项目取得用户数据后,可自行进行保存.
验证返回码及说明:code值说明0验证成功26token失效其他值系统错误(二)验证接口开发规范.
当用户直接访问各实验教学项目时、token失效时、用户处于未登录状态访问各实验教学项目时、或者实验教学项目采用C/S架构模式,则第三方接入端可按照给定的登录接口形式,开发可使用"实验空间"用户名及密码获取用户基本信息的接口.
需要发送数据到http://ilab-x.
com/sys/api/user/validate服务进行登录.
接口名称:http://ilab-x.
com/sys/api/user/validate.
调用方法:GET.
详细说明:见下表参数说明参考值username用户名testpassword加密后密码:password=sha256(nonce+sha256(password)+cnonce).
sha256是SHA256加密算法2760F0245D3C03E7ABDA1CCA310187E2E33EEB886FDE0FCD5C827E971AED44D7nonce安全验证随机数:自建函数,随机生成16位字符串.
允许字符:['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']0F2785E6ED1B59ACcnonce二次安全验证随机数:自建函数,随机生成16位字符串.
允许字符:['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']F5A981C203030722调用示例:http://ilab-x.
com/sys/api/user/validateusername=test&password=2760F0245D3C03E7ABDA1CCA310187E2E33EEB886FDE0FCD5C827E971AED44D7&nonce=0F2785E6ED1B59AC&cnonce=F5A981C203030722.
返回结果示例:{"code":0,"username":"test","name":"测试用户"}返回参数说明:code说明0调用成功其他值系统错误三、实验结果数据回传接口回传数据接口是指:"实验空间"用户完成实验教学项目后,所产生的实验结果数据.
如果有实验报告,则先调用上传接口,然后再将这些数据和用户信息一起通过回传数据接口同步至"实验空间".
官方网站:点击访问火数云活动官网活动方案:CPU内存硬盘带宽流量架构IP机房价格购买地址4核4G50G 高效云盘20Mbps独享不限openstack1个九江287元/月立即抢购4核8G50G 高效云盘20Mbps独享不限openstack1个九江329元/月立即抢购2核2G50G 高效云盘5Mbps独享不限openstack1个大连15.9元/月立即抢购2核4G50G 高效云盘5Mbps独享不限...
NameCheap商家如今发布促销活动也是有不小套路的,比如会在提前一周+的时间告诉你他们未来的活,比如这次2021年的首次活动就有在一周之前看到,但是这不等到他们中午一点左右的时候才有正式开始,而且我确实是有需要注册域名,等着看看是否有真的折扣,但是实际上.COM域名力度也就一般需要51元左右,其他地方也就55元左右。当然,这次新年的首次活动不管如何肯定是比平时便宜一点点的。有新注册域名、企业域...
Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...