写在前面:
最近项目当中涉及到了和浙里办(浙江政务服务网)的登录对接。业务流程其实也挺简单,一句话变可概括:我们系统平台上接收来自对方系统平台上发送过来的企业诉求,放在我们平台上进行流程处理,将处理结果推送回对方平台。由于对方系统的用户账号体系是浙江政务服务网的账号体系。需求里还加了能通过我们平台免登直接进入到对方系统平台。
前面的业务流程,双方约定好具体业务字段参数,开链接ip白名单便可以实现。主要是后面和浙江政务服务网的法人登录对接跳转到对方平台上,并实现已登录状态。这就涉及到了和政务服务网的对接。整个流程之前没接触过,包括和对方公司开发人员对接沟通交流,全流程下来,收获挺大的。趁此机会,打个卡记录一下!
第一步
我方项目经理向这浙江政务服务网提出申请。申请通过,政务服务网与我方进行联系发送应用接入编号(projectId)和密钥(projectSecret)及Demo并组建钉钉群组以便后续技术交流。(在后面浙江政务服务网发给我们的对接文档中有说明。)
第二步
2.1单点登录流程
①用户登录浙江政务服务网后点击办事事项链接;
②政务服务网重定向至法人统一认证系统;
③统一身份认证系统检查是否存在当前用户的会话,如果存在,获取其ssotoken;若不存在,创建会话并生成ssotoken;
④统一身份认证系统重定向至部门办事系统[法人信息回调地址]并推送ssotoken和ssoticket;
⑤部门办事系统调用“[验证令牌并获取用户的登录信息]”接口,采用Http接口与法人统一身份认证系统交互,传入ssotoken和projectId获取用户登录信息。法人统一身份认证系统验证ssotoken有效性,验证通过后返回用户登录信息;
⑥成功获取法人信息,完成登录,跳转到具体办事页面。
2.2单点登录地址
2.2.1功能说明:
应用提供单位可根据需求在具体业务环节发起单点登录,通过单点登录规则拼接授权页面链接引导用户打开授权。
2.2.2单点登录地址规则:
单点登录地址规则如下:
正式环境:
https://esso.zjzwfw.gov.cn/opensso/spsaehandler/metaAlias/sp?spappurl=回调地址
测试环境:
http://essotest.zjzwfw.gov.cn/opensso/spsaehandler/metaAlias/sp?spappurl=回调地址
2.2.3请求方式:
单点登录地址请求方式:Get
2.2.4返回参数:
spappurl参数说明:
名称 | 说明 | 是否必填 | 数据类型 | 长度(字节) |
spappurl | 回调地址用于接收ssotoken的信息 | 是 | String | 无限制 |
附注:
如果用户单点登录后希望展示具体的办事页面地址,可以在spappUrl回调地址中含带goto=“具体办事页面地址”,否则用户单点登录后跳转到首页。注意需要url编码。
浙江政务服务网单点登录参考链接(假设回调地址为http://localhost:8080/ssocheck.jsp,登录后希望跳转到www.tsign.cn页面):
正式环境:
https://esso.zjzwfw.gov.cn/opensso/spsaehandler/metaAlias/sp?spappurl=http://localhost:8080/ssocheck.jsp?goto=https://www.tsign.cn
测试环境:
http://essotest.zjzwfw.gov.cn/opensso/spsaehandler/metaAlias/sp?spappurl=http://localhost:8080/ssocheck.jsp?goto=https://www.tsign.cn
2.3回调地址
2.3.1功能说明:
该地址是实现业务系统开发[回调地址]接收SSO传递过来的令牌及票据,以便之后实现页面系统登录功能。
2.3.2回调地址Url:
业务系统自定义
2.3.3回调方式:
POST
2.3.4回调参数:
Request参数列表:
名称 | 说明 | 是否必填 | 数据类型 | 长度(字节) |
ssoticket | 票 |