3、能力对接
3.1 交互流程
合作方app:对接方的app,用户通过对接方的app使用移动网络向平台获取网络数据;
天翼账号平台:服务主要提供方,提供手机号码取号服务;
合作方平台:基于安全考虑,手机号码取号服务必须由合作方平台发起;
运营商网关认证平台:协助天翼账号平台向app提供网络数据。
注:红色字体是由合作方去实现的功能
步骤说明:
(1)客户端每次调用接口时都需要生成一个随机的对称加密(例如AES)的秘钥(AES-KEY),app提前配置好账号平台公钥(RSA-PUBLIC-KEY);
(2)合作方app采用对称加密方式向天翼账号平台请求,获取授权码,具体详见第一步:从手机端调用获取授权码接口
(3)账号平台最后将返回报文通过AES-KEY加密返回给客户端(双向加密);
(4)客户端拿到AES-KEY加密的返回报文,通过本地保存的AES-KEY秘钥解密。拿到返回报文明文,提交给合作方平台。
(5)【调用此接口计费】合作方平台调用手机号校验接口(verifyMobile.do),具体详见第二步合作方平台调用手机号校验接口。
(6)流程结束。
3.2 对接指引
天翼账号开放平台根据合作方不同的应用端场景,提供了通过3种调用方式让合作方从手机端调用获取授权码接口,包括AndroidSDK、iOS SDK以及API调用。其中,SDK方式为合作方实现了WiFi下调用,而API方式则只能在移动数据网络下调用。
3.2.1 通过Android SDK调用
1、根据Android SDK接入指南接入SDK,完成SDK的导入,配置等准备工作。
2、创建对象并调用初始化接口 init
输入参数:参数名参数说明数据类型可空appKey分配给第第三方应用的appKeyStringN
appSecrect分配给第三方应用的appsecrectStringN
3、调用获得用户手机授权码接口getPreCode
输入参数:参数名参数说明数据类型可空bussinessType业务类型,固定填写“jy”StringN
preCodeListener请求结果回调类PreCodeListenerN
输出参数:参数名参数说明数据类型可空accessCode授权码,天翼账号授权码,时效性60sStringN
msg如果result不等于0,会有相应的错误信息提示,用UTF-8编码StringN
operatorTypeCT电信,CU联通,CM移动,UN其他StringN
result操作结果返回码,0 表示操作成功intN
第二个参数preCodeListener类需要实现onSuccess和onFail方法,用于结果回调。
调用示例如下:CtgAuth ctgAuth = CtgAuth.getInstance();
//参数分别为:应用上下文, 平台下发给应用的appKey,平台下发给应用的app密钥
ctgAuth.init(MainActivity.this, APPKEY, APPSECRET);
ctgAuth.getPreCode("jy", new PreCodeListener() {
&#