H5认证开发指南

一、引入JSSDK(下载打包好的js文件引入项目目录)

开发者需要在H5页面中集成号码认证服务的JSSDK,并在服务端完成API对接。

二、H5本机号码校验系统交互流程

号码认证的系统交互流程主要分为三个步骤:

第一步,初始化

第二步,获取认证参数

第三步,发起认证

第一步、初始化

1、首先开发者服务端请求阿里云通信服务端获取授权token,授权token包括业务鉴权AccessToken和API鉴权JwtToken两个参数。

2、H5页面请求发起身份鉴权

第二步、获取认证参数

1、身份鉴权通过,请求号码认证JSSDK中的获取token方法,获取号码认证token

2、返回号码认证token

第三步、发起认证

1、H5向其服务端发起认证请求

2、开发者服务端调用H5本机号码校验API(VerifyPhoneWithToken)获取认证结果,判断用户输入的手机号码与用户终端当前访问网络的手机号码是否一致

三、SDK接口说明

1、初始化实例

// 初始化实例
const { PhoneNumberServer } = window;
this.phoneNumberServer = new PhoneNumberServer();

#### 设置SDK是否开启日志(开启后会在控制台打印更多内容便于排查问题)

this.phoneNumberServer.setLoggerEnable();

参数说明

isEnable 是否开启 true/false

2、获取号码认证SDK版本

const sdkVersion = this.phoneNumberServer.getVersion();  // 返回sdk版本号 eg: '1.0.0'

3、身份鉴权

this.phoneNumberServer.checkAuthAvailable({
        phoneNumber: '151********',
    accessToken: 'XXXXXXXXxx',
    jwtToken:'******',
    success:function(res){
        console.log(res.jwtToken);
      console.log(res.accessToken); 
    },
    
    error: function(res){
        
    }
    
});

参数说明

参数名称 参数说明
phoneNumber 本机号码
AccessToken

号码认证业务鉴权token

由阿里云对外暴露的getAuthToken 接口生成

JwtToken

API鉴权token

由阿里云对外暴露的getAuthToken 接口生成

success 成功回调
失败回调 失败回调

4、获取本机号码校验token

this.phoneNumberServer.getVerifyToken({
    success:function(res){
    console.log(res.
        
    },
    
    error: function(res){
        
    }
    
});

参数说明

success 成功回调
error 失败回调

返回值说明

code 成功6000(其他详见错误码)
spToken 运营商token
content 失败时运营商返回的内容

错误码说明

返回码 web
600000 成功的返回code
600010 未知异常
600011 获取token失败
600013 运营商维护升级,功能不可用
600014 运营商维护升级该功能已达最大调用次数
600015 接口超时
600025 接入方身份信息校验失败
600008 环境错误(未在蜂窝网络下使用或未使用手机浏览器)

四、服务端接口说明

JAVA SDK MAVEN 坐标

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.4.4</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-dypnsapi</artifactId>
    <version>1.1.3</version>
</dependency>

1、获取授权getAuthToken接口(获取AccessToken和JwtToken)

准备工作,请先完成阿里云账号注册、获取阿里云访问密钥、创建认证方案。

入参

参数名 参数类型 必填与否 样例取值 参数说明
Url String www.aliyun.com/abc 请求网页地址
Origin String www.aliyun.com 请求域名

出参

参数名 参数类型 样例取值 参数说明
RequestId String 8906582E-6722 请求ID
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表
Message String 请求成功 状态码的描述
TokenInfo Object 详见结构体内容 详见结构体内容

TokenInfo结构体

参数名 参数类型 样例取值 参数说明
AccessToken String adfadf 业务鉴权token
JwtToken String asasdfadfadf API鉴权token

Demo

使用OpenAPI Explorer进行在线Demo编辑及测试

错误返回码列表参见:

https://help.aliyun.com/document_detail/85198.html?spm=a2c4g.11186623.6.571.1b8e690ec2ZJtQ

2、本机号码校验VerifyPhoneWithToken接口

入参

参数名 参数类型 必填与否 样例取值 参数说明
spToken String Dfafdafad5422525 JSSDK获取的号码认证token
PhoneNumber String 13800000000 手机号

出参

参数名 参数类型 样例取值 参数说明
RequestId String 8906582E-6722 请求ID
Code String OK 状态码-返回OK代表请求成功,其他错误码详见错误码列表
Message String 请求成功 状态码的描述
GateVerify Object 详见结构体内容 详见结构体内容

GateVerify结构体

参数名 参数类型 样例取值 参数说明
VerifyId String 121343241 流水号
VerifyResult String PASS 认证结果PASS:一致REJECT:不一致UNKNOWN:无法判断

Demo

使用OpenAPI Explorer进行在线Demo编辑及测试

错误返回码列表参见:

https://help.aliyun.com/document_detail/85198.html?spm=a2c4g.11186623.6.571.1b8e690ec2ZJtQ

五、其他说明

1.需要提示用户在断开wifi的情况下使用,仅支持蜂窝网络下使用

2.身份鉴权成功后才可以调获取号码认证token的接口