3 能力对接
3.1 对接指引(获取code)
3.1.1 接口说明
应用账号登录模块,通常包括账号登录及注销功能,因此,天翼账号在WAP应用对接上,分别提供WAP登录页接口和注销登录账号接口,协助合作方应用分别实现登录及注销功能,以提供完整的账号使用流程。
3.1.2 实现WAP应用登录
合作方WAP应用在用户点击登录时,跳转到天翼账号提供的统一的WAP登录页,实现WAP应用登录,用户登录天翼账号后重定向返回给合作方认证处理结果。
接口定义接口名称autoLogin.do
接口描述WAP登录页接口,应用于WAP登录界面
承载协议HTTPS
承载网络公网
请求方式GET
数据格式redirect
WAP接口URLhttps://open.e.189.cn/api/logbox/oauth2/wap/autoLogin.do
请求参数:包含公共请求参数和非公共请求参数
1)公共请求参数:
天翼账号支持以GET方式提交数据,请求参数个数固定,如下表所述:字段标识说明appId开发者在天翼账号开放平台申请获取的应用ID
clientType统一为:20100
format统一为:redirect(用于重定向接口的显示说明)
version调用的接口版本号:v1.1
paras使用appSecret对所有传入参数采用XXTea加密,并且按照接口详细规范中定义的参数(除appId、clientType、format、version、sign)拼接,不要求参数顺序。
例如:paras = XXTea((a=value1&b=value2&…),appSecret)
备注:appSecret转16进制后进行加密,加密算法后的值只有数字和全大写字母
sign签名算法:
sign=HMAC-SHA1(appId+clientType+format+version+paras,appSecret).toUpperCase()
备注:注意保持签名的各字段顺序正确,签名算法后的值只有数字和全大写字母
2)非公共请求参数(paras中需要加密的参数):字段标识说明数据类型长度可空timeStamp时间戳,毫秒Long18N
returnURL重定向返回URL(returnURL如带参数,整个returnURL需进行URL编码)String1024N
templateId模板ID,若需新增模板,需提供模板给予综合平台进行模板配置
默认:0Integer1Y
loginType其他登录类型
1|2:免密登录失败后,优先账密登录,保留短信登录
2|1:免密登录失败后,优先短信登录,保留账密登录
1:免密登录失败后,只有账密登录,无短信登录
2:免密登录失败后,只有短信登录,无账密登录
默认:1|2String3Y
qaUrl遇到问题链接String1024Y
otherLoginUrl其他登录方式链接(免密失败后跳转的自定义链接)String1024Y
state用于保持请求和回调的状态,登录请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验String32Y
响应参数:字段名称描述appId开发者在天翼账号开发平台(join.e.189.cn)申请获取的应用ID。
paras使用appSecret对所有传入参数采用XXTea加密,并且按具体接口详细规范中定义的参数拼接,不要求参数顺序
例如:paras=XXTea((a=value1&b=value2&…),appSecret)。
sign签名算法公式:HMAC-SHA1(appId+paras,appSecret)
paras解密得到如下数据:字段标识说明数据类型长度可空result0:成功1:失败Integer10N
timeStamp时间戳yyyy-MM-dd HH:mm:ss,其中HH取值为00-23,时区为东八区(接入方必须判断时间戳的有效性,以防重放攻击)String19N
code2分钟内一次有效(服务端调用)String32N
state用于保持请求和回调的状态String32Y
返回结果
重定向到指定的URL,如http://returnURL?appId=123¶s=123&sign=123。returnURL按照本接口规范定义的参数处理方式接收和处理。
3.1.3 实现注销登录接口
用户在合作方WAP网站应用登录后需要退出登录时,合作方调用此接口,请求天翼账号注销用户登录,天翼账号清除用户登录信息后,根据传入的returnUrl返回合作方 。
请求参数:包含公共请求参数和非公共请求参数
接口定义接口名称unifyAccountLogout.do
接口描述注销登录接口,为合作方注销登录令牌,清除登录用户信息(该接口需在前端/浏览器调用)
承载协议HTTPS
承载网络公网
请求方式GET
数据格式redirect
约束用户已登录
WAP接口URLhttps://open.e.189.cn/api/account/unifyAccountLogout.do
请求参数:包含公共请求参数和非公共请求参数
1)公共请求参数:
天翼账号支持以GET方式提交数据,如下表所述:字段标识说明appId开发者在天翼账号开放平台申请获取的应用ID
clientType客户端类型:20100
format目前仅支持json格式,统一为:redirect(用于重定向接口的显示说明)
version调用的接口版本号:v1.1
paras使用appSecret对所有传入参数采用XXTea加密,并且按照接口详细规范中定义的参数(除appId、clientType、format、version、sign)拼接,不要求参数顺序。
例如:paras = XXTea((a=value1&b=value2&…),appSecret)
sign签名算法:
sign=HMAC-SHA1(appId+clientType+format+version+paras,appSecret).toUpperCase()备注:注意保持签名的各字段顺序正确,签名算法后的值转换为全大写
2)非公共请求参数(paras中需要加密的参数):字段标识说明数据类型长度可空userId统一账号的userId。Long18Y
udbUserIdUDB账号名称String15Y
productUid基地账号原userId,可能为空,而且和appId有关String30Y
timeStamp时间戳,毫秒Long18N
returnURL重定向返回URL(returnURL如带参数,整个returnURL需进行URL编码)String1024N
响应参数:字段名称描述appId开发者在天翼账号开放平台申请获取的应用ID
paras使用appSecret对所有传入参数采用XXTea加密,并且按具体接口详细规范中定义的参数拼接,不要求参数顺序
例如:paras=XXTea((a=value1&b=value2&…),appSecret)。
sign签名算法公式:HMAC-SHA1(appId+paras,appSecret)
paras参数解密得到以下数据:字段标识说明数据类型长度可空result0:成功1:失败Integer10N
timeStamp时间戳yyyy-MM-dd HH:mm:ss,其中HH 取值为00-23,时区为东八区(接入方必须判断时间戳的有效性,以防重放攻击)String19N
返回结果:
重定向到传入的returnURL,如http://returnURL?appId=123¶s=123&sign=123。returnURL按照本接口规范定义的参数处理方式接收和处理。
3.2通过code获取accessToken
通过code获取accessToken,具体可到以下文档了解:
3.3 获取用户信息
通过获取用户信息接口,在用户登录后可以获取用户昵称、手机号码、头像等信息,需要对接获取用户信息能力,具体可到以下文档了解:
3.4 DEMO下载
为各位开发者提供更便捷的对接方法,我们提供DEMO,使用流程如下:
3.4.1 DEMO下载(JAVA)
介绍
1.导入lib里的jar包
2.完善com._21cn.open.config.LoginboxConfig里TODO处的参数
3.执行com._21cn.open.main.WapLoginbox的main方法可得WAP登录框地址
3.4.2 DEMO下载(PHP)
介绍1.new LoginBoxDemo($appId, $appSecret, $returnURL)2.执行$LoginBoxDemo->wap()方法可得WAP登录框地址