1、后台接入操作

假设轻应用单点登录地址为:http://www.baidu.com/home/login.html

1.1、添加轻应用

管理员登录后台,在轻应用管理处新建轻应用

统一门户 架构图 统一门户官网_统一门户 架构图

填写轻应用相关信息

	    注:红色*号为必填项
	    **应用logo** (大小超过1M推荐上传图片尺寸为640*640)
	    **应用名称** 6个字以内
	    **应用描述** 20字以内
	    **首页地址** 单点登录地址,具体填写参照内外网接入填写方式
	    **反代理路径** 虚拟目录名称,具体填写参照内外网接入填写方式
	    **后台地址、PC版首页地址** 如果没有则无需填写

	    **可见范围** 分配轻应用可见范围(和权限相关)

1.2、外网接入填写方式

如果轻应用可以通过外网地址访问的情况下,则:
	“首页地址”,填写系统绝对路径,如:“http://www.baidu.com/home/login.html”
	“反代理路径”,禁止填写任何内容

1.3、内网接入填写方式

如果轻应用不能通过外网访问方式的情况下,则:
	“首页地址”,填写系统相对路径,以“/”开头,如:“/home/login.html”
	“反代理路径”,以字母开头,不能使用任何符号,最好采用系统的英文名命名,如:“baidu”

2、技术接入操作

2.1、获取单点登录token

当在统一门户app内进入轻应用时,系统会自动在单点登录地址后面追加token字符串(如:/home/login.html?token=xxxxxx)
token用于获取当前登录用户的工号

2.1.1、前端方式

方式一:
			函数定义:
			function getQueryString(name) {
				var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
				var r = window.location.search.substr(1).match(reg);
				if (r != null) return unescape(r[2]);
				return null;
			}
			函数调用:
			var token = getQueryString('token');
		方式二:
			var token = /token=(.*?)($|&)/.exec(window.location.href)[1];

2.1.2、后台方式

JavaWeb
			request.getParameter("token");
		Asp.Net
			Request["token"];
		PHP
			$_GET['token'];

2.2、获取当前登录用户工号

接口地址:
		/api/User/GetUserID
	接口头部Header参数:
		token:单点登录获取到的token
		caller:调用者,轻应用ID(轻应用在后台添加后即可查看该应用ID)
	接口返回:
		正确情况:
			{
			    "code":0,
			    "msg":"OK",
			    "data":"15000015"
			}
		错误情况:
			{
				"code": 10001,
				"msg": "参数有误,请检查接口传递参数。"
			}
		返回字段说明:
			code:返回结果代码,0为正确
			msg:返回文本提示
			data:正确情况下返回员工工号,错误情况下没有此字段

2.3、二级虚拟目录的配置(仅针对于内网接入方式)

因为外网地址有且只有一个访问端口,因此为了使不同的系统能够通过一个端口正常访问,故此采用不同的二级目录来对其系统进行访问。
	/baidu/login.html
	/sogou/login.html
	/google/login.html

	如系统内网单点登录地址为:http://10.10.10.10/home/login.html,在后台添加轻应用后经过反向代理,外网访问地址为:http://外网HOST/虚拟目录/home/login.html
	通过不同的二级目录来访问不同的系统,因此二级目录对于轻应用而言,此目录必须是唯一的。
	不同webserver的二级虚拟目录配置方式如下:
	Apache
		
	IIS
		
	Nginx
		

	注意:
		系统单点登录地址无论是否已经在二级目录下,此操作务必进行,否则会出现部分脚本或样式无法加载(/css、/js)

附录:

见内部文档