H5/小程序/快应用

一键登录流程

1) 客户端通过预取号接口获取 accessCode;

2) 客户端回传 accessCode 至服务端;

3) 服务端通过用户信息接口获取用户信息,并返回客户端。

文档中所有接口均在服务端调用,会有IP白名单及签名校验。

1. 预取号接口

简要描述

该方法用于获取 accessCode, accessCode 将用于号码认证接口

访问授权说明 IP 授权:否, SDK 客户端封装使用,接受请求重定向

请求URL

POST http://***/api/v1/***

Content-Type:application/json

请求参数示例

{
    "key":"813994709c7****e7390143e230851",
    "platform":1,
    "timestamp":"161512***70076",
    "packname":"cn.bitlib.demo",
    "packsign":"dbc58e3e9d***79ad91f294acc3551e3",
    "format":"json",
    "sign":"3b1bebfb2336***3285ef930d21eab74a45bde8e53d2bf3fc60c8ba6f780be3c6e595408f51cbeeadd39dfac7d508628c094e81e8ca3b3f0b392b1e255aa9b5c5c6bbbf488797fc67aa9a873dd97e2de6e87ab1549ee5fef2b630e429560aaad3e368123ddb78fb872b610ba5b925b923bf71e500c63eb71e1715519ecf8"
}

请求参数说明

参数名

必选

类型

是否参与签名

说明

key

String

应用 key

platform

Integer

iOS(0)Android(1) 根据客户端类型传相应的参数

bundleid

String

IOS 平台 Bundle ID 必填,如果是H5,可不传该参数

packname

String

Android 平台 apk 包名必填,如果是H5,可不传该参数

packsign

String

Android 平台 apk 签名必填,如果是H5,可不传该参数

format

String

预取号返回结果类型,默认返回jsonp格式,如需返回json,请传值“json”

callback

String

format参数如果不为json,则返回默认的jsonp请求,用于解决H5跨域请求问题,此时callback的默认返回值为reply,可通该参数自定义callback名称。format参数如果为json,则该参数始终返回空字符串。

timestamp

String

时间戳

sign

String

/

参数RSA加密值,加密算法:sign=RSA(key=值&platform=值& timestamp=值,RSA_Private_key) 转16进制大写,签名算法为:SHA256withRSA。需要注意参数拼接 key升序排序,密钥格式为PSKCS#8,1024位(bit)。其中 RSA_Private_key是合作方的RSA 私钥,合作方需要向平台提供RSA 公钥,用于访问接口时的验签

该接口如果请求成功会先返回302重定向,从Header中获取Location用于重定向请求,重定向的请求才会返回如下结果。 该接口如果请求失败则会返回相应的状态码及错误信息。

返回示例 成功:

失败:

返回参数说明

参数名

类型

说明

code

int

状态码,0:成功,其他状态码为失败

msg

string

返回状态描述,code 不为 0 对应错误描述

accessCode

string

授权码,成功时返回,用于号码认证

operatorType

string

运营商标识,成功时返回,用于号码认 证, CU 代表联通,CT 代表电信,CM 代表移动

mobile

string

脱敏手机号 139****1234

msgId

string

随机表示,code 不为 0 对应错误描述

2. 置换手机号接口

简要描述

直接用预取号获取的 accessCode 换取用户信息

访问授权说明 IP 授权:是,服务端调用

请求URL

POST http://***/api/v1/***

Content-Type:application/json

请求参数示例:

请求参数说明:

参数名

必选

类型

是否参与签名

说明

key

String

应用 key

code

String

接口 precheck 返回值

token

String

接口 precheck获取到的 accessCode (code=0 时必填)

operator_type

String

接口 precheck 返回值,SDK 侧 接口获取,CU:联通,CT: 电信,CM:移动(code=0 时必填)

mobile

String

接口 precheck 返回值,脱敏手机号(code=0时必填)

msg

String

接口 precheck 返回值

msg_id

String

接口 precheck 返回值,或标识请求随机数

timestamp

String

时间戳

sign

String

——

参数RSA加密值,加密算法:sign=RSA(key=值&mobile=值&operator_type=值& timestamp=值&token=值,RSA_Private_key) 转16进制大写,签名算法为:SHA256withRSA。需要注意参数拼接 key升序排序,密钥格式为PSKCS#8,1024位(bit)。其中 RSA_Private_key是合作方的RSA 私钥,合作方需要向平台提供RSA 公钥,用于访问接口时的验签

返回示例

返回参数说明

参数名

类型

说明

code

int

状态码,0:成功,其他状态码为失败

msg

string

状态码描述信息

phone

string

服务端采用业务端提供的公钥加密,业务端需要使用私钥解密

3. 校验手机号接口

简要描述

直接用预取号获取的 accessCode 验证用户号码

访问授权说明 IP 授权:是,服务端调用

请求URL

POST http://***/api/v1/auth/verify

Content-Type:application/json

请求参数示例:

请求参数说明:

参数名

必选

类型

是否参与签名

说明

key

String

应用 key

code

String

接口 precheck 返回值

token

String

接口 precheck获取到的 accessCode (code=0 时必填)

operator_type

String

接口 precheck 返回值,SDK 侧 接口获取,CU:联通,CT: 电信,CM:移动(code=0 时必填)

mobile

String

接口 precheck 返回值,脱敏手机号(code=0时必填)

msg

String

接口 precheck 返回值

msg_id

String

接口 precheck 返回值,或标识请求随机数

mobile_verify

String

待校验的手机号

timestamp

String

时间戳

sign

String

\

参数RSA加密值,加密算法:sign=RSA(key=值&mobile=值&operator_type=值& timestamp=值&token=值,RSA_Private_key) 转16进制大写,签名算法为:SHA256withRSA。需要注意参数拼接 key升序排序,密钥格式为PSKCS#8,1024位(bit)。其中 RSA_Private_key是合作方的RSA 私钥,合作方需要向平台提供RSA 公钥,用于访问接口时的验签

返回示例

返回参数说明

参数名

类型

说明

code

int

状态码,0:成功,其他状态码为失败

msg

string

状态码描述信息

verify

string

服务端采用业务端提供的公钥加密,业务端需要使用私钥解密,解密结果值: 0:一致;1:不一致;2:无法判断

4.相关工具

4.1公私钥生成

公私钥在线生成 公私钥对生成说明:

4.2 RSA工具类

签名工具包,提供Java、PHP、Node、C#的私钥生成签名及私钥解密方法。 签名工具包

最后更新于

这有帮助吗?