手机银行和门户联调功能简单介绍
RSA加密
手机银行进入多元金融首页需数据加密传入,和门户约定使用RSA加密。门户提供公钥给手机银行对数据进行加密,门户收到数据后用私钥解密。
数据验签说明
1、集团门户为每个子系统分配一个md5key,作为md5摘要计算的盐值。
2、通信内容MD5签名过程:通信请求方将相关请求参数值做md5计算获取到校验串并发送给通信接收方。
3、通信内容MD5验签过程:通信接收方将收到的相关请求参数值做md5计算得到校验串,并跟收到的校验串做比对,一致则认为验签成功,不一致则验签失败。
时间戳
手机银行加密的数据拼上请求时的时间戳进行加密。
1、门户从加密数据内容中获取到手机银行的时间戳T1,以及门户当前系统时间戳T2。
当满足-10秒<T2-T1<30秒时,认为该请求是有效的,否则为无效。
2、通信接受方必须实现防重放攻击即收到的同一请求的url(带敏感信息的url),保证第一次收到时才有效。
3、 通信双方的系统时间保证跟北京时间同步。
4、手机银行客户端需要自定义请求报文头的user-agent信息,增加请求来源标识,统一为“cibbank”,以此增加授信机制。
5、门户和子公司交互均使用https协议。
报文信息详细
A01
1)业务场景
手机银行已登录用户访问集团门户
2)请求方式
https:// app端集团门户入口地址?from=xxx&data=xxx&mac=xxx
3)data报文信息
参数名 | 是否必输 | 说明 |
---|---|---|
sn | 是 | A01 |
from | 是 | 通信发起方系统编号 |
certType | 是 | app登录用户证件类型 |
certNo | 是 | app登录用户证件号码 |
custName | 是 | app登录用户姓名 |
time | 是 | 发起系统时间戳 |
target | 否 | 使用场景:集团门户调用app的登录脚本(doHomeAppLogin)时,会传个target参数,在app登录后需重定向到门户页面时必须带上target参数,参数值为门户js接口传递的那个值 |
A02
1)业务场景
手机银行app未登录用户访问集团门户。
2)请求方式
https:// app端集团门户入口地址?from=xxx&data=xxx&mac=xxx
3)data报文信息
参数名 | 是否必输 | 说明 |
---|---|---|
sn | 是 | A02 |
from | 是 | 通信发起方系统编号 |
time | 是 | 发起系统时间戳 |
AA1
1)业务场景
手机银行app已登录用户访问财富总览(提供给原手机银行财富总览功能跳转使用,门户接受请求后响应财富总览功能页,并且返回直接回到APP)
2)请求方式
https:// app端集团门户入口地址?from=xxx&data=xxx&mac=xxx
3)data报文信息
参数名 | 是否必输 | 说明 |
---|---|---|
sn | 是 | AA1 |
from | 是 | 通信发起方系统编号 |
certType | 是 | app登录用户证件类型 |
certNo | 是 | app登录用户证件号码 |
custName | 是 | app登录用户姓名 |
time | 是 | 发起系统时间戳 |
手机银行访问门户报错时错误码信息表
错误码 | 错误信息 |
---|---|
52003 | MD5校验失败 |
52004 | RSA解密失败 |
52005 | 校验串超时 |
52006 | json格式不对 |
52007 | url重复请求 |
52023 | 报文数据的不完整错误 |
52027 | 非法的user-agent |
手机银行提供给门户调用的接口
序号 | 接口名称 | 接口提供者 | 接口说明 |
---|---|---|---|
1 | 打开app | 入口app | H5页面调用该接口打开第三方app |
2 | 下载app | 入口app | H5页面调用该接口下载第三方app |
3 | app返回 | 入口app | 门户调用该接口返回到入口app首屏 |
4 | app登录 | 入口app | 门户调用该接口打开入口app的用户登录界面 |
5 | app分享 | 入口app | H5页面调用该接口分享指定内容 |
打开app接口
1) 功能描述
H5页面调用该接口打开第三方app。
2) 业务场景
H5页面基于业务需求,打开其他子公司app。例如:门户的金融资讯,当用户点击“更多”时,提示用户“请您前往“兴业研究”客户端,获取更多精彩资讯。”,用户可选择“打开”兴业研究app。
3) 接口格式说明
4) 接口的JSON参数说明
参数名称 | 参数类型 | 参数说明 |
---|---|---|
iOSScheme | String | 必选,iOS应用scheme值 |
AndroidPackageName | String | 必选,Android应用包名 |
AndroidClassName | String | 必选,Android应用启动页面类名 |
callbackName | String | 可选,回调方法名(打开失败时,入口app执行H5页面定义的回调方法) |
下载app接口
1) 功能描述
H5页面调用该接口下载第三方app(通过打开浏览器下载)。
2) 业务场景
H5页面基于业务需求,打开其他子公司app。例如:门户的金融资讯,当用户点击“更多”时,提示用户“请您前往“兴业研究”客户端,获取更多精彩资讯。”,用户可选择“下载”兴业研究app。
3) 接口格式说明
4) 接口的JSON参数说明
参数名称 | 参数类型 | 参数说明 |
---|---|---|
url | String | 必选,iOS或Android应用的下载地址 |
返回app
1) 功能描述
门户调用该接口返回到入口app首屏。
2) 业务场景
当门户需要返回到入口app时,调用该接口。
3) 接口格式说明
登录接口
1) 功能描述
门户调用该接口打开入口app的用户登录界面。
2) 业务场景
门户允许用户以未登录状态访问,但门户的财富总览和承接页要求用户必须以登录状态访问。所以当未登录的用户要访问财富总览或承接页时,门户会调用入口app的用户登录界面,引导用户进行登录。登录成功后,自动跳转到财富总览或承接页。
3) 接口格式说明
4) 接口的JSON参数说明
参数名称 | 参数类型 | 参数说明 |
---|---|---|
target | String | 可选,用户登录成功后跳转到的目标地址(子公司系统编号或财富总览编号) |
分享接口
1) 功能描述
H5页面调用该接口分享指定内容。
2) 业务场景
门户或子公司基于业务需求,引导用户分享指定的产品服务或营销活动等。
3) 接口格式说明
4) 接口的JSON参数说明
参数名称 | 参数类型 | 参数说明 |
---|---|---|
url | String | 必选,分享内容的URL地址 |
title | String | 必选,分享内容的标题 |
description | String | 可选,分享内容的描述 |
picUrl | String | 可选,分享内容的缩略图地址 |