标准版台湾代理ip

台湾代理ip  时间:2021-04-13  阅读:()
ICS35.
080L79SW单一窗口建设工程标准SW502—2018国际贸易"单一窗口"用户管理和身份认证集成指南Intergrationguidelineforinternationaltradesinglewindowusermanagementandidentityauthentication2018–12–27发布2018–12–27实施国家口岸管理办公室发布SW502—2018I目次前言IV引言V1范围12规范性引用文件13术语、定义和缩略语13.
1术语和定义13.
2缩略语24总体框架35业务场景描述45.
1用户注册场景45.
1.
1存量用户注册45.
1.
2增量用户注册45.
2用户登录场景55.
2.
1用标准版应用55.
2.
2使用地方平台应用66用户管理76.
1地方用户集成76.
1.
1新增用户76.
1.
2存量用户166.
1.
3地方应用集成标准版用户187身份认证187.
1概述187.
1.
1集成规则187.
1.
2CASclient与OAuth的比较.
197.
2CAS客户端集成.
197.
2.
1jar包引入.
197.
2.
2相关配置197.
2.
3配置详解227.
2.
4"单一窗口"服务类密码设备技术要求257.
2.
5代理模式257.
2.
6注意事项257.
2.
7用户信息获取257.
2.
8用户详细信息267.
3OAuth联合认证集成.
29SW502—2018II7.
3.
1前提条件297.
3.
2OAuth联合认证及用户绑定参考流程.
297.
3.
3OAuth联合认证接口317.
3.
4Demo配置和部署347.
3.
5访问357.
4用户退出367.
4.
1概述367.
4.
2退出标准版367.
4.
3退出地方应用36参考文献.
37SW502—2018III前言本标准按照GB/T1.
1-2009给出的规则起草.
本标准由国家口岸管理办公室提出并归口.
本标准主要起草单位:中国电子口岸数据中心、中国标准化研究院.
SW502—2018IV引言党中央、国务院针对国际贸易"单一窗口"(简称"单一窗口")建设做出了一系列决策部署,要求依托电子口岸加快我国"单一窗口"建设,推进口岸"三互"大通关改革,促进贸易便利化.
为落实国务院口岸工作部际联席会议《关于国际贸易"单一窗口"建设的框架意见》有关统一认证的任务要求,规范中国国际贸易单一窗口的用户管理和身份认证,指导"单一窗口"标准版(简称标准版)与地方电子口岸平台进行用户管理和身份认证技术集成,实现"单一窗口"一次注册、全国通用,特制定本标准.
SW502—20181国际贸易"单一窗口"用户管理和身份认证集成指南1范围本标准阐明了地方电子口岸平台与标准版在用户管理、身份认证上的技术集成对接方案,明确了"单一窗口"的用户管理和身份认证业务模式,规范了地方电子口岸平台和标准版在用户管理、统一认证集成上的技术接口.
本标准适用于"单一窗口"的用户管理和身份认证.
2规范性引用文件下列文件对于本文件的应用是必不可少的.
凡是注日期的引用文件,仅所注日期的版本适用于本文件.
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件.
GB32100法人和其他组织统一社会信用代码编码规则3术语、定义和缩略语3.
1术语和定义SW/T101定义的术语适用于本文件.
3.
2缩略语下列缩略语适用于本文件.
CAS:集中式认证服务(CentralAuthenticationService)SaaS:软件即服务(Software-as-a-Service)OAuth开放授权OpenAuthorization4总体框架SW502—20182图1用户管理和统一认证总体框架"单一窗口"用户管理和统一认证总体框架见图1.
地方已建成"单一窗口"应用的用户管理和身份认证的集成,应调用标准版提供的服务接口,由用户发起将已有用户数据导入到标准版统一的用户标准信息库,将新增用户数据保存至标准版统一的用户标准信息库.
通过上述方式实现集成后,可以实现全国"单一窗口"统一的身份认证、单点登录及用户信息共享.
统一身份认证服务主要支撑能力具体如下:a)支持单点登录;b)支持多种身份认证方式,包括用户名/静态口令,数据证书认证等;c)根据安全级别的高低采取不同的认证方式:——用户名/静态口令认证属于低安全级别认证,数据证书属于高安全级别认证;——用户若通过了高安全级别的身份认证,获取低安全级别的应用服务时,无需再次认证;——用户若通过了低安全级别的身份认证,获取高安全级别的应用服务时,需要再次认证.
5业务场景描述5.
1用户注册场景SW502—201835.
1.
1存量用户注册5.
1.
1.
1业务场景地方电子口岸原有用户使用标准版业务时,需要注册标准版账号.
用户使用地方账号登录地方电子口岸后,访问标准版业务时,需要注册标准版账号,可以在登录地方电子口岸后,点击"快速注册标准版账号"链接调用标准版快速注册服务,地方电子口岸将用户的基本信息发送至标准版,用户补充注册信息后可以快速注册标准版账号,并在标准版用户管理系统中完成资质备案及应用权限备案等操作.
5.
1.
1.
2注册流程存量用户注册业务流程见图2.
图2存量用户注册业务流程5.
1.
2增量用户注册5.
1.
2.
1业务场景新用户在已建地方电子口岸注册账号.
用户在地方电子口岸点击"注册"链接,进入地方注册页面,用户填写标准版注册信息和地方扩展信息,地方电子口岸通过调用标准版接口,验证用户名是否重复、企业信息是否正确,当注册管理员时,可验证该企业是否已被使用.
同时还要验证扩展信息.
都通过校验后,可调用标准版注册接口,注册成功后,再将标准版用户信息及地方扩展信息保存到地方数据库,同时将标准版账号与地方用户信息进行绑定.
5.
1.
2.
2注册流程增量用户注册业务流程见图3.
SW502—20184图3增量用户注册业务流程5.
2用户登录场景5.
2.
1使用标准版应用5.
2.
1.
1业务场景用户访问地方电子口岸,使用标准版账号登录系统,登录成功后,在地方电子口岸选择使用标准版业务系统.
5.
2.
1.
2业务流程用标准版账号登录地方电子口岸,并使用标准版业务系统流程见图4.
SW502—20185图4用标准版账号登录地方电子口岸,并使用标准版业务系统流程5.
2.
2使用地方平台应用5.
2.
2.
1业务场景业务场景:用户访问地方电子口岸,使用标准版账号登录系统,登录成功后,在地方电子口岸选择使用地方已建"单一窗口"业务系统.
5.
2.
2.
2业务流程用户使用标准版账号登录地方电子口岸,先在标准版登录,标准版将用户信息传给地方电子口岸,地方电子口岸根据用户标准版账号与地方电子口岸账号的绑定关系完成地方电子口岸账号自动登录.
用标准版账号登录地方电子口岸,并使用地方电子口岸业务系统流程见图5.
SW502—20186图5用标准版账号登录地方电子口岸,并使用已建地方电子口岸业务系统6用户管理6.
1地方用户集成6.
1.
1新增用户6.
1.
1.
1概述SW502—20187新增用户在标准版注册有两种方式:a)直接在标准版注册:有卡注册(有IC卡)或无卡注册;b)地方电子口岸调用标准版服务接口进行注册(推荐).
6.
1.
1.
2适用场景地方电子口岸使用标准版服务接口为用户提供标准版用户注册功能.
6.
1.
1.
3接口使用流程接口使用流程如下:a)使用随机数接口获取随机数;b)若地方电子口岸已经申请打开加签开发,调用业务接口时,将随机数加签并赋值给业务接口的signature参数,然后调用业务接口;c)若地方电子口岸未申请打开加签开发,调用业务接口时,将随机数直接赋值给业务接口的signature参数,然后调用业务接口.
6.
1.
1.
4接口除获取随机数接口外,其他的接口都有两种参数形式调用,一种是各参数项独立的方式,另一种是业务参数封装为json格式(platid和signature不在json里),接口地址在原基础上增加ByJson,如checkUserLoginName变为checkUserLoginNameByJson.
调用接口的地址为:a)联调环境:https://apptest.
singlewindow.
cn;b)运行环境:https://app.
singlewindow.
cn.
接口调用全局返回码见表1.
表1用户接口调用全局返回码返回码状态含义0000操作成功1111系统异常4444无效的平台ID7777验签失败9999随机数已过期或未申请随机数6.
1.
1.
4.
1获取随机数接口6.
1.
1.
4.
1.
1功能描述接口见表2.
表2获取随机数接口接口名称获取随机数接口接口描述地方电子口岸调用标准版接口,获取用于加签的随机数接口地址/userserver/rest/user/random/getRandomNumberplatid=SW23000020170331接口提供者标准版用户管理系统接口使用者地方电子口岸用户管理系统接口类型httpGET/POST方式应用场景获取随机数SW502—20188接口名称获取随机数接口编码格式UTF-8备注6.
1.
1.
4.
1.
2输入参数无输入参数.
6.
1.
1.
4.
1.
3输出参数输出参数见表3.
表3输出参数序号关键字值是否必填备注1rtn_code返回码是0000:成功0001:平台Id不存在2random随机数否标准版分配给地方电子口岸的用于加签的随机数3validity_time有效时间否标准版分配random后,该random的有效时间,单位为分钟示例:{"rtn_code":"0000","random":"d3eb9a9233e52948740d7eb8c3062d14","validity_time":"1440"}6.
1.
1.
4.
2验证用户名是否存在接口6.
1.
1.
4.
2.
1接口描述接口描述见表4.
表4验证用户名是否存在接口描述接口名称验证用户名是否存在接口接口描述地方电子口岸调用标准版接口,验证用户名是否存在接口地址/userserver/rest/user/userCheck/checkUserLoginNameplatid=SW23000020170331&signature=d3eb9a9233e52948740d7eb8c3062d14接口提供者标准版用户管理系统接口使用者地方电子口岸用户管理系统接口类型httpGET/POST方式应用场景验证用户名是否被使用编码格式UTF-8备注注1:用户名不区分大小写.
注2:signature为地方电子口岸根据随机数和加密机所获取的签名.
6.
1.
1.
4.
2.
2输入参数输入参数见表5.
表5验证用户名是否已被使用接口输入参数SW502—20189序号关键字值数据类型是否必填备注1login_name登录用户名Varchar2(18)是6.
1.
1.
4.
2.
3输出参数输出参数见表6.
表6验证用户名是否已被使用接口输出参数序号关键字值备注1rtn_code返回码0000:成功0001:登录名已使用示例:成功:{"rtn_code":"0000"}失败:{"rtn_code":"0001"}6.
1.
1.
4.
3验证企业代码是否被使用接口6.
1.
1.
4.
3.
1接口描述接口描述见表7.
表7验证企业代码是否被使用接口描述接口名称验证企业信息是否被使用接口接口描述地方电子口岸调用标准版接口,验证企业代码是否被使用接口地址/userserver/rest/user/userCheck/checkEtpsCodeplatid=SW23000020170331&signature=d3eb9a9233e52948740d7eb8c3062d14接口提供者标准版用户管理系统接口使用者地方电子口岸用户管理系统接口类型httpGET/POST方式应用场景验证企业代码是否已被使用编码格式UTF-8备注注:signature为地方电子口岸根据随机数和加密机所获取的签名.
6.
1.
1.
4.
3.
2输入参数输入参数见表8.
表8验证企业代码是否被使用接口输入参数序号关键字值数据类型是否必填备注1social_credit_code企业18位信用代码Varchar2(18)是企业18位信用代码与企业组织机构代码必须填一项,组织机构代码不需要录入"-"2org_code企业组织机构代码Varchar2(9)是6.
1.
1.
4.
3.
3输出参数输出参数见表9.
SW502—201810表9验证企业代码否已被使用接口输出参数序号关键字值备注1rtn_code返回码0000:成功0001:企业代码已使用示例:成功:{"rtn_code":"0000"}失败:{"rtn_code":"0001"}6.
1.
1.
4.
4验证企业信息是否正确接口6.
1.
1.
4.
4.
1接口描述接口描述见表10.
表10验证企业信息是否正确接口描述接口名称验证企业信息是否正确接口接口描述地方电子口岸调用标准版接口,验证企业信息是否正确接口地址/userserver/rest/user/userCheck/checkEtpsIdentityplatid=SW23000020170331&signature=d3eb9a9233e52948740d7eb8c3062d14接口提供者中国电子口岸接口使用者地方电子口岸接口类型httpGET/POST方式应用场景验证企业信息是否正确编码格式UTF-8备注注:signature为地方电子口岸根据随机数和加密机所获取的签名.
6.
1.
1.
4.
4.
2输入参数输入参数见表11.
表11验证企业信息是否正确接口输入参数序号关键字值数据类型是否必填备注1social_credit_code企业18位信用代码Varchar2(18)否企业18位信用代码与企业组织机构代码必须填一项,组织机构代码不需要录入"-"2org_code企业组织机构代码Varchar2(9)否3etps_name企业中文名称Varchar2(256)是4correp_name法人姓名Varchar2(256)是6.
1.
1.
4.
4.
3输出参数输出参数见表12.
表12验证企业信息是否正确接口输出参数序号关键字值备注1rtn_code返回码0000:成功SW502—2018110003:必填项为空0004:统一社会信用代码和组织机构代码不匹配0005:企业状态已注销0006:法人不一致0007:企业名称不一致示例:成功:{"rtn_code":"0000"}失败:{"rtn_code":"0007","rtn_message":"企业名称不一致!
"}6.
1.
1.
4.
5用户注册接口6.
1.
1.
4.
5.
1接口描述接口描述见表13.
表13用户注册接口描述接口名称用户注册接口接口描述地方电子口岸通过该接口为用户提供注册标准版账号的功能接口地址/userserver/rest/user/quickRegister/newUserQuickRegisterplatid=SW23000020170331&signature=d3eb9a9233e52948740d7eb8c3062d14接口提供者中国电子口岸接口使用者地方电子口岸接口类型httpGET/POST方式应用场景用户注册接口编码格式UTF-8备注注1:其中platid为标准版分配给地方电子口岸的id.
注2:signature为地方电子口岸根据随机数和加密机所获取的签名.
注3:用户名不区分大小写.
6.
1.
1.
4.
5.
2输入参数输入参数见表14.
表14用户注册接口输入参数序号关键字值数据类型是否必填备注1login_name登录用户名Varchar2(18)是2password账号密码Varchar2(16)是3name用户姓名Varchar2(256)是4iddoc_type用户证件类型Varchar2(25)是5iddoc_no用户证件号码Varchar2(256)是6account_type账号类型Varchar2(3)是1、企业管理员;3、企业操作员7mobile手机号码Varchar2(256)是8email邮箱Varchar2(50)否9etps_name企业中文名称Varchar2(256)是SW502—20181210social_credit_code企业18位信用代码Varchar2(18)否企业18位信用代码与企业组织机构代码必须填一项11org_code企业组织机构代码Varchar2(9)否"-"不用填写12legal_iddoc_type法人证件类型Varchar2(25)注册企业管理员必填注册企业操作员不填13legal_iddoc_no法人证件号码Varchar2(256)注册企业管理员必填注册企业操作员不填14correp_name法人名称Varchar2(256)是15approveByHand是否自动转入人工审批Varchar2(9)否0:表示不自动转入1:自动转入6.
1.
1.
4.
5.
3输出参数输出参数见表15.
表15用户注册接口输出参数序号关键字值备注1rtn_code返回码0000:成功0001:登录用户名已存在0002:统一社会信用代码已使用0003:企业组织机构代码已使用0004:企业身份验证不通过0005:数据错误0006:管理员未注册0007:和管理员数据中的企业信息不一致0065:企业注册信息,已自动转入人工审核,请耐心等待审核结果0066:企业信息正在审核中,请等待人工审核完成(场景:该企业注册信息已转入人工审核,正在等待审核结果)0067:审核信息保存错误2rtn_message返回信息对返回码的补充,如:当rtn_code为0001时,rtn_message为"登录用户名已存在".
备注:用户注册增加人工审核功能因在工商注册时间不到两周,或者没有统一社会信用代码等原因,无法通过工商接口验证企业信息.
为了解决该问题,增加注册或修改企业信息的人工审核功能.
使用用户接口注册需要了解如下情况:a)户接口注册增加了一个属性approveByHand,表示该注册如果系统自动审查企业信息为不通过,可转入后台人工审核;//0:表示不自动转入1:自动转入;b)因为人工审核会参考工商网站结果,为了减少不必要的审核,当传递approveByHand的参数值为1前,要求提示用户检查填写是否正确,确定没有问题再提交.
注册提示信息窗口见图6.
SW502—201813图6注册提示信息窗口示例:成功:{"rtn_code":"0000"}.
失败:{"rtn_code":"0003","rtn_message":"企业组织机构代码已使用"}.
返回"0005:数据错误"可能是因为如下原因:a)用户证件类型或证件号码为空;b)用户证件号码非法;c)法人证件类型或证件号码为空;d)法人证件号码非法;e)账号类型不对;f)平台Id为空;g)登录用户名为空;h)登录用户名长度超过30;i)密码为空;SW502—201814j)密码不能有中文;k)用户姓名为空;l)账号类型为空;m)法人姓名为空;n)企业中文名为空;o)手机号码格式错误;p)邮箱号码格式错误;q)统一社会信用代码和组织机构代码信息不匹配;r)统一社会信用代码和组织机构代码不能全为空或位数不对.
6.
1.
1.
4.
6修改用户信息接口6.
1.
1.
4.
6.
1接口描述接口描述见表16.
表16修改用户信息接口描述接口名称修改用户信息接口接口描述地方电子口岸调用该接口修改用户信息接口地址/userserver/rest/user/userManagement/modifyUserplatid=SW23000020170331&signature=d3eb9a9233e52948740d7eb8c3062d14接口提供者标准版接口使用者地方电子口岸接口类型httpGET/POST方式应用场景修改用户信息编码格式UTF-8备注注1:修改对象的用户名、管理员用户名、管理员密码作为修改条件,其他项为修改值.
注2:signature为地方电子口岸根据随机数和加密机所获取的签名.
6.
1.
1.
4.
6.
2输入参数修改用户信息接口输入参数见表17.
表17修改用户信息接口输入参数序号关键字值数据类型是否必填备注1login_name修改对象的用户名Varchar2(18)是修改条件2admin_login_name管理员用户名Varchar2(18)是修改条件3admin_password管理员密码Varchar2(16)是修改条件4name用户姓名Varchar2(256)是被修改项5email邮箱Varchar2(50)否被修改项6iddoc_type用户证件类型Varchar2(25)是被修改项7iddoc_no用户证件号码Varchar2(256)是被修改项6.
1.
1.
4.
6.
3输出参数SW502—201815输出参数见表18.
表18调用修改用户信息接口输出参数序号关键字值备注1rtn_code返回码0000:成功0001:用户名不存在0002:管理员用户名或密码错误0003:用户姓名不正确0004:邮箱不正确0005:用户证件类型不正确0006:用户证件号码不正确0007:当前用户与管理员不匹配0008:数据项为空2rtn_message返回信息对返回码的补充,如:当rtn_code为0005时,rtn_message为用户证件类型不正确.
示例:成功:{"rtn_code":"0000"}失败:{"rtn_code":"0002","rtn_message":"管理员用户名或密码错误"}6.
1.
2存量用户6.
1.
2.
1概述存量用户在标准版里注册,有三种方式:a)地方调用标准版注册接口;b)地方推送用户信息到标准版快速注册(推荐);c)直接在标准版注册:有卡注册(有IC卡)或无卡注册.
6.
1.
2.
2适用场景用户已在地方注册,要访问标准版内容,需要到标准版注册.
6.
1.
2.
3用户集成流程用户集成流程见图7.
SW502—201816图7地方存量用户集成流程6.
1.
2.
4流程说明用户在地方登录后,点击"单一窗口标准版注册",地方电子口岸将按下面接口,将用户信息提交到标准版.
标准版先判断提交过来的用户名是否重复,如果重复,提醒用户修改用户名.
用户输入密码等信息后,进行注册.
6.
1.
2.
5用户信息传递到标准版接口6.
1.
2.
5.
1接口描述接口描述见表19.
表19接口描述调用方式GET/POST提交提交地址/rest/user/pageRegister/localUserPageRegShow6.
1.
2.
5.
2输入参数用户信息提交参数见表20.
表20用户信息提交参数序号参数名称数据类型是否必填描述1platidVarchar2(32)是地方平台ID2plat_signVarchar2(1024)是地方对"用户名+手机号"进行加签3login_nameVarchar2(18)是登录用户名:用户在地方注册的用户名4nameVarchar2(256)是用户姓名5iddoc_typeVarchar2(25)是证件类型6iddoc_noVarchar2(256)是证件号码7account_typeVarchar2(3)是账号类型:1、企业管理员;3、企业操作员8mobileVarchar2(256)是手机号码9emailVarchar2(50)否邮箱10etps_nameVarchar2(256)是企业中文名称SW502—201817序号参数名称数据类型是否必填描述11social_credit_codeVarchar2(18)否企业18位信用代码:企业18位信用代码与企业组织机构代码必须填一项12org_codeVarchar2(9)否企业组织机构代码13admin_nameVarchar2(18)否该企业的管理员账号:没有可不填注:加签使用类com.
sw.
plat.
local.
core.
sign.
AbstractSingleWindowSign的方法sign,此方法为抽象方法,默认实现类为:com.
sw.
plat.
local.
core.
sign.
DefaultSingleWindowSign.
java.
6.
1.
2.
5.
3输出参数无输出参数.
6.
1.
3地方应用集成标准版用户如果用户先到标准版注册,地方没有该用户信息.
当该用户访问地方电子口岸时,地方电子口岸可通过OAuth联合认证获取用户信息,如需要用户扩展信息,可引导用户填写,最后保存到本地,并进行用户关联,可见6.
3.
2OAuth联合认证及用户绑定参考流程.
7身份认证7.
1概述地方电子口岸集成标准版身份认证有两种可选方式:分别为CAS客户端和OAuth联合认证.
CAS客户端为主要方式,OAuth联合认证用于在已建地方实体平台保留地方认证系统的情况下,实现用户一次认证即可访问标准版应用和受地方认证系统保护的地方特色应用.
7.
1.
1集成规则统一认证集成规则如下:a)集成标准版应用的地方电子口岸,必须使用标准版身份认证,认证须集成标准版CAS客户端;b)新建地方电子口岸特色应用应集成CAS客户端,使用标准版统一的身份认证;c)不保留地方认证系统的地方电子口岸应集成CAS客户端,实现特色应用使用标准版统一的身份认证;d)保留地方认证系统的地方电子口岸应集成OAuth联合认证,实现用户一次认证即可访问标准版应用和受地方认证系统保护的地方特色应用.
图8是统一认证身份集成示意图.
SW502—201818图8统一身份认证集成示意图7.
1.
2CASclient与OAuth的比较共性:用户在标准版登录后,地方电子口岸都可以获取用户标准信息.
差异如下:CASClient是集成到地方电子口岸的应用系统上,而OAuth联合认证是集成到地方认证系统上.
OAuth联合认证应用场景:用户首先在标准版登录,如果地方有自建的认证系统,当用户再次访问受地方自建认证系统保护的特色应用时,地方认证系统可以通过OAuth联合认证获取该用户的身份信息,在地方的认证系统进行免密码的身份认证,免去用户在地方再次输入用户名和密码进行登录,提高用户体验.
虽然用户没有感觉到在地方电子口岸进行登录,但用户在地方认证系统也完成了身份认证,等效于用户用"用户名"和"密码"登录地方认证系统,而且受地方认证系统保护的系统不用作任何修改.
7.
2CAS客户端集成7.
2.
1jar包引入jar包引入包括plat-local-core-1.
0.
0.
jar,其他日志相关jar包请自行引入.
7.
2.
2相关配置在web.
xml文件中增加如下配置见表21.
表21web.
xml文件中增加如下配置org.
jasig.
cas.
swclient.
session.
SingleSignOutHttpSessionListenerSW502—201819SWCASSingleSignOutFilterorg.
jasig.
cas.
swclient.
session.
SingleSignOutFilterSWCASFilterorg.
jasig.
cas.
swclient.
authentication.
AuthenticationFiltercasServerLoginUrlhttp://localhost:8082/cas/loginserverNamehttp://localhost:8080SWCASValidationFiltercom.
sw.
plat.
local.
core.
validation.
SWCas20ProxyReceivingTicketValidationFiltercasServerUrlPrefixhttp://localhost:8082/casserverNamehttp://localhost:8080singleWindowSignClassNamecom.
sw.
plat.
local.
core.
sign.
DefaultSingleWindowSignplatIdSWC2900002signPrivateKeyNo1platSignSwitchSW502—201820falseencodingutf-8protocolTLSkeyStoreTypeJKSkeyStorePath/var/secure/location/.
keystorekeyStorePasschangeitcertificatePasswordaGoodPassproxyCallbackUrlhttp://localhost:8080/test-client/proxyCallbackproxyReceptorUrl/proxyCallbackacceptAnyProxytrueSW502—201821SWCASAssertionThreadLocalFilterorg.
jasig.
cas.
swclient.
util.
AssertionThreadLocalFilterSWCASValidationFilter/proxyCallbackSWCASSingleSignOutFilter/*SWCASFilter/{FOLDER}/*SWCASValidationFilter/*SWCASAssertionThreadLocalFilter/*7.
2.
3配置详解表21逐一解释表22中红色部分的配置,可根据实际情况需要进行修改.
表22配置详解配置名称详细解释casServerLoginUrlCAS服务端的登录地址,根据实际部署的CAS服务器的地址进行修改,结尾应该是/loginserverName客户端地址,根据客户端的实际地址进行修改,只需配置IP和端口.
casServerUrlPrefixCAS服务端地址前缀,改地址是为了拼接验证ticket地址使用的,根据实际部署的CAS服务器地址进行修改,需要配置IP、端口和部署的服务名singleWindowSignClassName加签所使用的类全名,地方电子口岸自行继承com.
sw.
plat.
local.
core.
sign.
AbstractSingleWindowSign类,使用密码设备提供的功能重写sign方法,方法说明如下:publicabstractStringsign(Stringvalue),其中value为待签名的数据(UTF-8编码),方法的返回值为BASE64编码的签名数据.
签名使用RSA+SHA1算法,数字签名操作符合PKCS#1V2.
0规定的RSASSA-PKCS1-v1_5数字签名操作规范.
AbstractSingleWindowSign.
java、加签实现类例子DefaultSingleWindowSign.
java以及加签测试SW502—201822配置名称详细解释实例数据见表后.
platId地方平台IDsignPrivateKeyNo加签密钥号proxyCallbackUrl指定代理回调地址,根据客户端地址进行修改,结尾为/proxyCallbackproxyReceptorUrlproxyCallbackUrl相对于代理端的地址,这里不需要修改acceptAnyProxy被代理端配置,true表示允许任何代理/{FOLDER}/*CASFilter保护路径地址,{FOLDER}为受保护资源所在目录protocol协议类型(TLS安全传输层协议)keyStoreType密钥库类型keyStorePath密钥库路径(绝对路径)keyStorePass密钥库密码certificatePassword证书密码AbstractSingleWindowSign.
java的代码如下:packagecom.
sw.
plat.
local.
core.
sign;publicabstractclassAbstractSingleWindowSign{privateintsignPrivateKeyNo;privatebooleanplatSignSwitch=true;publicabstractStringsign(Stringvalue);publicintgetSignPrivateKeyNo(){returnsignPrivateKeyNo;}publicvoidsetSignPrivateKeyNo(intsignPrivateKeyNo){this.
signPrivateKeyNo=signPrivateKeyNo;}publicbooleanisPlatSignSwitch(){returnplatSignSwitch;}publicvoidsetPlatSignSwitch(booleanplatSignSwitch){this.
platSignSwitch=platSignSwitch;}}加签实现类例子DefaultSingleWindowSign.
java代码如下:packagecom.
sw.
plat.
local.
core.
sign;SW502—201823importjava.
io.
IOException;importorg.
apache.
xml.
security.
utils.
Base64;importcom.
cneport.
common.
crypto.
CipherApi;/***单一窗口标准版对随机数加签功能的默认实现*/publicclassDefaultSingleWindowSignextendsAbstractSingleWindowSign{privateCipherApicipherApi=newCipherApi();@OverridepublicStringsign(Stringrandom){if(random!
=null){byte[]source=random.
getBytes();byte[]b;try{b=cipherApi.
sha1RsaSign(getSignPrivateKeyNo(),source,source.
length);StringsignStr=Base64.
encode(b,1);returnsignStr;}catch(IOExceptione){e.
printStackTrace();}}return"";}publicCipherApigetCipherApi(){returncipherApi;}publicvoidsetCipherApi(CipherApicipherApi){this.
cipherApi=cipherApi;}}加签测试实例数据如下:下面是某一次加签过程中的测试数据,可用于测试和比较:待加密数据random首先进入DefaultSingleWindowSign.
java的方法:SW502—201824publicStringsign(Stringrandom),入参Stringrandom="ST-778-m4IaGGfaA5Hj5f6gGe1X-cas01.
example.
org";执行到byte[]source=random.
getBytes();之后,source值为:[83,84,45,55,55,56,45,109,52,73,97,71,71,102,97,65,53,72,106,53,102,54,103,71,101,49,88,45,99,97,115,48,49,46,101,120,97,109,112,108,101,46,111,114,103]getSignPrivateKeyNo()为配置在web.
xml里的值,本例为17.
2.
4"单一窗口"服务类密码设备技术要求7.
2.
4.
1概述地方电子口岸应部署服务密码设备,用于存储平台数字证书对应的私钥并提供数字签名等密码运算功能.
服务类密码设备包括服务器密码机、签名验签服务器等商用密码产品类型,适用于各类应用系统进行高速的、多任务并行处理的密码运算,可以满足应用系统数据的签名/验证、加密/解密的要求,保证传输信息的机密性、完整性,同时提供安全、完善密钥管理机制.
密码设备产品名录可在国家商用密码管理办公室网站"产品信息"栏目下查询《商用密码产品目录》(网址:http://www.
oscca.
gov.
cn).
7.
2.
4.
2技术要求"单一窗口"服务类密码设备技术要求见表23.
表23"单一窗口"服务类密码设备技术要求基本要求应具备国家密码管理局批准的商用密码产品型号证书(在有效期内)必备功能具有数字签名和签名验证功能具有密钥对生成和管理功能支持RSA(1024位)、RSA(2048位)非对称密码算法支持SHA1、SHA256杂凑算法支持国产SM2非对称密码算法、SM1、SM4对称密码算法、SM3杂凑算法支持按照PKCS#10标准生成证书请求并导出请求包支持双机热备或集群部署提供接口库程序包和相应开发、配置等技术文档运行环境要求应支持主流操作系统,包括Windows、Linux等操作系统7.
2.
5代理模式当需要使用代理模式时,可以根据当前客户端是代理端还是被代理端自行增减web.
xml中的配置.
需要增减的配置已在6.
2.
2注释中说明.
若不使用代理模式则都去掉,若既做代理端又做被代理端则保留全部配置.
7.
2.
6注意事项在设置过滤器映射地址时,除CASFilter必须设置为"/{FOLDER}/*"的形式外,其它为默认情况即可.
CASFilter一般不能设置为"/*"的匹配模式,原因是应用验证或用户单点登出时,CAS服务器会回调应用,此时CASAuthenticationFilter如果对"/*"进行过滤的话就会将CAS的回调重定向到CAS登录页面,产生错误.
因此在设计应用时,要注意不要将受保护资源放到应用的根目录下.
7.
2.
7用户信息获取用户信息获取见表24.
SW502—201825表24用户信息获取Assertionassertion=AssertionHolder.
getAssertion();//获取用户名Stringaccount=assertion.
getPrincipal().
getName();//获取用户信息Mapattrs=assertion.
getPrincipal().
getAttributes();7.
2.
8用户详细信息用户详细信息见表25,实际返回值因用户类型、账号绑卡情况、企业备案情况的差异有所不同.
表25用户详细信息序号关键字值备注1login_name登录名不区分大小写,以全部大写形式返回2login_type登录类型0、登录名和密码登录;1、电子口岸介质登录3name管理员姓名如果用户绑定了IC卡,该字段才有值4account_type账号类型1、企业管理员;3、企业操作员5mobile手机号6mobile_stucd手机号验证状态0、未验证;1、已验证7etps_name企业名称8social_credit_code统一社会信用代码9org_code组织机构代码组织机构代码与统一社会信用代码必有一个10correp_name法人姓名11correp_iddoc_typecd法人证件类型12correp_iddoc_no法人证件号码13op_name当前用户姓名14safe_fec_etps_dir_emvry_stucd外汇收支企业名录审核状态0、未审核;1、已审核15moc_extr_trade_putrec_stucd对外贸易经营者备案审核状态0、未审核;1、已审核16cards绑定的介质号集合规则:各部委的介质号使用$符做分隔符,第一部分为电子口岸的IC卡号,第二部分为XX部委号.
示例:8910000448896$4898594817etps_vrffy_stucd企业身份核验状态0、未认证;1、已认证19iddoc_typecd用户证件类型01:身份证;06:护照;07:外国人居留证;SW502—201826序号关键字值备注08:港澳居民来往内地通行证;09:台湾同胞来往内地通行证;20iddoc_no用户证件号码21biz_records业务权限设置集合按$符做分割符,第一部分是货物申报:依次为报关申报、报检申报第二部分是运输工具申报:第1位为船舶运输工具申报,2-4位暂无意义第三部分是舱单申报:第1位为水运舱单申报,2-4位暂无意义第四部分是贸易许可:依次为农药进出口登记管理放行通知单、野生动植物进出口证书申请第五部分是企业资质办理:企业资质申请第六是原产地证书:质检总局原产地证书申请通过0、1表示是否可以使用该应用功能,1代表可以.
示例:10$1000$1000$01$1$0,表示可以使用的应用有:报关申报、船舶运输工具申报、水运舱单申报、野生动植物进出口证书申请、企业资质申请.
22platId地方平台IdOAuth认证不返回,casclient返回23show_name注册用户名区别大小写24gs_reg_no工商注册号25gs_regcap注册资本(万元)26gs_regcapcur注册资本币种27gs_esdate(工商登记)成立日期28gs_s_ext_nodenum省节点编号29gs_domdistrict住所所在行政区划30gs_enttype公司类型31gs_opfrom营业期限自32gs_opto营业期限至33gs_ent_status登记状态34gs_can_date注销日期35gs_rev_date吊销日期36gs_dom住所37gs_op_scope经营范围38gs_regorg登记机关39gs_oploc经营场所40gs_tel联系人电话SW502—201827序号关键字值备注41mc_corp_code企业代码(13位企业进出口代码)42mc_en_full_co企业英文名称43mc_bus_adds_en英文营业地址44mc_email_box电子邮箱45mc_post_code邮政编码46mc_phone联系电话47mc_fax传真48mc_manage_dept注册地区49mc_corp_apply经营者类型50mc_manage_code备案机关51mc_last_approval_number最新批准文号52mc_first_approval_date最早审批日期53cus_reg_no海关10位注册编号单个编号54cus_reg_no海关10位注册编号如果有两个编号,中间用-隔开,最多两个编号.
55cus_cop_type企业类别(管理类别)56cus_cop_master_cus主管海关57cus_trade_type企业经营类别58cus_avail_date海关有效期59cus_en_addr_co企业英文地址60cus_first_reg_date(海关)首次注册日期61cus_late_reg_date(海关)最近一次注册日期62cus_law_man_mobile法人移动电话63cus_law_man_tel法人固定电话64cus_appr_dep_code报关权批准机关65cus_appr_id批准文号66cus_inv_total投资总额67cus_curr_code_inv投资总额币制68cus_taxy_rg_code税务登记号69cus_busi_kind行业种类70cus_mft_decl_code舱单申报企业海关备案代码71ciq_oricet_no质检产地证备案号72ciq_etps_reg_no报检企业注册号73ciq_comm_pltf_accts质检通讯平台账号74ciq_comm_pltf_pw质检通讯平台密码75ciq_dcl_accts质检ECIQ申报账号76ciq_dcl_pw质检ECIQ申报密码77ciq_decl_cop_code舱单申报人检验检疫备案代码78non_em_flag(商务部)非机电类是否备案SW502—201828序号关键字值备注79em_flag(商务部)机电类是否备案80agricultural_flag金农是否备案7.
3OAuth联合认证集成7.
3.
1前提条件地方电子口岸提出OAuth联合认证集成申请,提出申请时提供执行联合认证的系统的域名.
域名用于验证,域名不匹配时用户无法登录标准版身份认证系统.
申请成功后,会得到统一分配的client_id和client_secret,程序开发时需要配置它.
7.
3.
2OAuth联合认证及用户绑定参考流程集成OAuth联合认证、用户绑定流程见图9.
SW502—201829图9集成OAuth联合认证、用户绑定流程判断用户是否在单一窗口标准版登录的前端参考代码如下:SW502—201830functioncheckSwLogin(json){try{if(json.
code.
indexOf("ST-")==0){alert("该用户已在单一窗口标准版登录,code="+json.
code);//测试用location.
href="OAuthLoginControllercode="+json.
code;}else{alert("该用户还没有登录单一窗口标准版!
");//测试用}}catch(e){}}functioncallJsonpUrl(myurl){$.
ajax({type:"get",async:false,url:myurl,dataType:"jsonp",jsonp:"callback",success:function(json){checkSwLogin(json);},error:function(){//alert("fail");}});}callJsonpUrl("http://localhost:8080/cas/oauth2.
0/authorizeclient_id=1367&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8082%2Flocal-oauth-demo%2FOAuthCode");7.
3.
3OAuth联合认证接口7.
3.
3.
1登录接口登录接口调用见表26.
表26登录接口调用调用地址https://://oauth2.
0/authorize请求方式GETSW502—201831返回类型页面7.
3.
3.
1.
1请求参数"单一窗口"CAS接口请求参数见表27.
表27"单一窗口"CAS接口请求参数名称类型是否必填描述client_idString是应用的唯一标识,从单一窗口标准版工程组处申请的client_idresponse_typeString是返回类型,统一为coderedirect_uriString是返回地址:认证完成后重定向到该页面,系统可获取code7.
3.
3.
1.
2返回返回CAS联合登录页面见图10.
图10返回CAS联合登录页面示例:使用单一窗口标准版账号登录.
7.
3.
3.
2获取access_token接口调用地址:https://://oauth2.
0/accessToken.
请求方式:GET.
返回类型:String.
7.
3.
3.
2.
1请求参数获取access_token接口请求参数见表28.
表28获取access_token接口请求参数名称类型是否必填描述client_idString是应用的唯一标识,从单一窗口标准版工程组处申请的client_idredirect_uriString是返回地址:认证完成后重定向到该页面grant_typeString是授权模式,统一用授权码模式:authorization_codeSW502—201832client_secretString是应用的唯一标识,从单一窗口标准版工程组处申请的client_secretcodeString是登录成功后返回的code7.
3.
3.
2.
2返回返回access_token信息,如:access_token=VEdULTEtQW1wYkxpZ1JZSXRuajZJM3ZEVUxPQllJZkJjYVMwYldoUWFaTWZXaFh6THhFRWFYRmQtY2FzMDEuZXhhbXBsZS5vcmcjMTAwMDAwMDQ=&expires=7200.
示例:如访问如下网址:示例:http://localhost:8080/cas/oauth2.
0/accessTokenclient_id=8888&client_secret=secret&grant_type=authorization_code&redirect_uri=http://localhost:8082/local-oauth-demo/OAuthLoginController&code=ST-1-ZXEdPKcGwYkMmrFhciZC-cas01.
example.
org.
7.
3.
3.
2.
3获取用户信息接口获取用户信息接口见表29.
表29获取用户信息接口调用地址https://://oauth2.
0/profile请求方式GET返回类型JSON7.
3.
3.
2.
4请求参数获取用户信息接口请求参数见表29.
表30获取用户信息接口请求参数名称类型是否必填描述access_tokenString是获取的access_token值示例:访问如下网址:http://localhost:8080/cas/oauth2.
0/profileaccess_token=VEdULTEtQW1wYkxpZ1JZSXRuajZJM3ZEVUxPQllJZkJjYVMwYldoUWFaTWZXaFh6THhFRWFYRmQtY2FzMDEuZXhhbXBsZS5vcmcjMTAwMDAwMDQ=7.
3.
3.
2.
5返回获取用户信息接口的返回用户信息如下:{"id":"SWBJOP0101","attributes":[{"gs_dom":"湟源县申中乡庙沟村"},{"etps_name":"中国大恒(集团)有限公司"},{"gs_opfrom":"20110704"},{"gs_enttype":"农民专业合作经济组织"},{"gs_oploc":"湟源县申中乡庙沟村"},{"moc_extr_trade_putrec_stucd":"0"},{"iddoc_type":"150105198202047314"},{"plat_id":"SW61000020170331"},{"cus_avail_date":"2011-06-2300:00:00"},{"cus_trade_type":"10000000"},{"permissions":[]},{"etps_aptt_id":"F439CB8E747F7EC60DA640C1684CDDB8"},{"biz_records":"11$1000$1000$00$0$0$00$0$0$00$0$0"},{"cards":"8950000038776"},{"account_type":"3"},{"enterpriseNo":"9737A367A05D80CD19AD4807833FC9B5"},{"credentialNo":"150105198202047314"},{"em_flag":"0"},{"cus_appr_dep_code":"经贸部"},{"gs_esdate":"20110704"},{"etps_vrffy_stucd":"0"},{"org_code":"100006493"},{"gs_opto":"20171020"},{"ciq_comm_pltf_pw":"g70den2o"},{"gs_domdistrict":"110111"},{"cus_busi_kind":"13"},{"cus_appr_id":"00451535"},{"etps_id":"9737A367A05D80CD19AD4807833FC9B5"},{"gs_op_scope":"组织成员进行秸秆、燕麦种植、销售以及秸SW502—201833秆、燕麦种植有关的技术、信息服务.
"},{"phoneNOChecked":"1"},{"cus_curr_code_inv":"502"},{"credentialType":"01"},{"accountMobile":"15511111111"},{"mobile":"15511111111"},{"cus_ie_ent_no":"1100102452083"},{"cus_late_reg_date":"20040623"},{"accountId":"E571E68EDC4EE1E386CEE3E0DC50C335"},{"iddoc_typecd":"01"},{"cus_mft_decl_code":"1234"},{"LATEST_LOGON_TIME":"2017-04-1417:12:05"},{"correp_iddoc_no":"110102411126275"},{"gs_regcapcur":"142"},{"agricultural_flag":"0"},{"gs_regorg":"青海省西宁市湟源县工商行政管理局"},{"cus_reg_no":"1114960222"},{"ciq_dcl_accts":null},{"showName":"swbjop0101"},{"cus_first_reg_date":"20040623"},{"ciq_etps_reg_no":null},{"accountStatus":"1"},{"ciq_dcl_pw":"100006493"},{"name":"张家林"},{"non_em_flag":"0"},{"op_name":"秦正荣"},{"cus_law_man_tel":"61501980"},{"login_type":"0"},{"mobile_stucd":"1"},{"gs_tel":"13099746821"},{"cus_cop_type":"B"},{"gs_ent_status":"在营(开业)"},{"cus_en_addr_co":"BEIJINGTONGZHOUZHANGJIAWANXIDING"},{"ciq_decl_cop_code":"5678"},{"gs_s_ext_nodenum":"110000"},{"gs_regcap":"150"},{"correp_iddoc_typecd":"01"},{"gs_reg_no":"630123NA000111X"},{"cus_cop_master_cus":"0117"},{"login_name":"SWBJOP0101"},{"accountType":"3"},{"indb_time":"2017-06-2210:08:12.
0"},{"ciq_oricet_no":null},{"create_user":"SWBJAD01"},{"social_credit_code":""},{"correp_name":"张家林"},{"ciq_comm_pltf_accts":null}]}注:id为在系统内的用户名,全大写,attributes为扩展属性,各项含义参考"表24用户详细信息".
7.
3.
4Demo配置和部署7.
3.
4.
1获取demolocal-oauth-demo.
zip可在"单一窗口"门户网站(www.
singlewindow.
cn)的服务指南栏目中下载.
7.
3.
4.
2配置platformconfig.
properties打开/local-oauth-demo/resources/platformconfig.
properties,修改红色部分完成Demo配置.
示例:示例见表31.
表31配置demo#单一窗口OAuth联合认证服务器地址sw.
oauth.
url=http://localhost:8080/cas#线下申请的本应用的唯一标识sw.
oauth.
client.
id=8888#线下申请的本应用的唯一标识sw.
oauth.
client.
secret=secret#本应用的访问地址local.
url=http://localhost:8082/local-oauth-demoSW502—2018347.
3.
4.
3部署本Demo可在下面环境下(但不限于)部署:——应用服务器:apache-tomcat-7.
0.
42;——jdk:jdk1.
7.
0_13.
7.
3.
5访问7.
3.
5.
1从本应用进入标准版身份认证系统访问:http://localhost:8082/local-oauth-demo/loginServlet,将进入标准版登录页面.
7.
3.
5.
2标准版身份认证系统登录输入用户名/密码可完成登录,标准版身份认证登录页面见图11.
图11标准版身份认证登录页面7.
3.
5.
3登录成功后返回本应用本应用可获得用户信息见图12.
图12获取用户信息SW502—2018357.
4用户退出7.
4.
1概述用户在点退出时,既要退出所有标准版的应用,还要退出所有地方应用.
7.
4.
2退出标准版用户在标准版应用里点"退出"时,系统除要退出标准版的所有应用外,还应退出地方的应用.
地方应提供一个能退出地方所有应用的url,供标准版调用.
示例:某地方提供的地址为:http://singlewindow.
xx.
cn/xxx/logout.
do标准版的应用在退出时会调用:http://singlewindow.
xx.
cn/xxx/logout.
dofrom=app.
singlewindow.
cnfrom参数表示调用来源,避免循环调用,退出地址完成后,应反馈给被调用者,可参考local-oauth-demo.
zip.
7.
4.
3退出地方应用用户在地方应用里点"退出"时,地方应用系统除要退出地方的所有应用外,还应退出标准版的所有应用.
因此需在浏览器里调用退出标准版所有应用的统一地址:a)运行环境:https://app.
singlewindow.
cn/cas/logout;b)联调环境:https://apptest.
singlewindow.
cn/cas/logout.
示例:在运行环境,用户在某地的应用里点退出时,该应用应调用标准版的退出地址:https://app.
singlewindow.
cn/cas/logoutfrom=singlewindow.
xxx.
cn其中,singlewindow.
xxx.
cn为调用者的域名.
SW502—201836参考文献[1]《商用密码产品目录》(网址:http://www.
oscca.
gov.
cn)

raksmart:全新cloud云服务器系列测评,告诉你raksmart新产品效果好不好

2021年6月底,raksmart开发出来的新产品“cloud-云服务器”正式上线对外售卖,当前只有美国硅谷机房(或许以后会有其他数据中心加入)可供选择。或许你会问raksmart云服务器怎么样啊、raksm云服务器好不好、网络速度快不好之类的废话(不实测的话),本着主机测评趟雷、大家受益的原则,先开一个给大家测评一下!官方网站:https://www.raksmart.com云服务器的说明:底层...

快云科技:夏季大促销,香港VPS7.5折特惠,CN2 GIA线路; 年付仅不到五折巨惠,续费永久同价

快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。我们秉承着服务于客户服务于大众的理念运营,机器线路优价格低。目前已注册用户达到5000+!主营产品有:香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机!产品特色:全配置均20M带宽,架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10阵列, 国...

SpinServers(月89美元) 2*e5-2630L v2,美国独立服务器

SpinServers服务商也不算是老牌的服务商,商家看介绍是是2018年成立的主机品牌,隶属于Majestic Hosting Solutions LLC旗下。商家主要经营独立服务器租用和Hybrid Dedicated服务器等,目前包含的数据中心在美国达拉斯、圣何塞机房,自有硬件和IP资源等,商家还自定义支持用户IP广播到机房。看到SpinServers推出了美国独服的夏季优惠促销活动,最低月...

台湾代理ip为你推荐
mysql下载Navicat for mysql怎么安装全国企业信息查询有没有可以查全国企业信息的工商查询网站360公司迁至天津天津360公司?360开户哪家好?360开户费多少?360推广怎么样?360效果怎么样?360和百度相比哪个更合适?verticalflashyixingjia合家欢是一种什么东西?腾讯公司电话腾讯总公司服务热线是多少颁发的拼音发字的多音字组词400电话查询400电话。如何查询真伪,费用?powerbydedecms织梦dedecms怎么去掉power by dedecms方法403forbidden403forbidden
免费申请网站域名 新秒杀 site5 全球付 512av Hello图床 日本空间 七夕促销 699美元 1g内存 服务器托管什么意思 视频服务器是什么 百度云加速 什么是web服务器 国内域名 石家庄服务器托管 杭州电信宽带优惠 登陆qq空间 贵州电信 新网dns 更多