二次校验接口
2023.11.15 17:15:30
用户每完成一次验证码验证,易盾验证码服务会记录该次请求相关的验证信息,以确保该次验证是有效并且是最近完成的,并且会对这些验证信息做衰减失效处理(默认为20分钟),针对用户验证行为和提交行为设置个性化的超时时间,有效防止批量定时恶意验证的风险
接口说明
用户提交表单(post-form)到产品应用后台,会携带一个验证码相关的参数,参数名为 NECaptchaValidate,产品应用需要将该参数传给易盾验证码后台做二次校验,是否验证成功,以服务端二次校验接口返回true还是false为准
详情可参考接入流程图
鉴权说明
易盾验证码服务使用签名方法对接口进行鉴权,所有接口每一次请求都需要包含签名信息(signature参数),以验证用户身份,防止信息被恶意篡改。目前支持MD5,SHA1,SHA256,SM3, HMAC_SHA256几种加密算法,详细信息,请参见接口鉴权
请求
基本 | |
---|---|
HTTP URL | https://c.dun.163.com/api/v2/verify |
HTTP Method | POST |
请求头
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值:"application/x-www-form-urlencoded" |
请求参数
请求参数由通用参数和接口参数两部分组成,通用参数见请求通用字段
基本参数
名称 | 类型 | 必填 | 最大长度 | 描述 |
---|---|---|---|---|
captchaId | string | 是 | 32 | 验证码id |
validate | string | 是 | 不限制长度,建议1024 | 提交二次校验的验证数据,即NECaptchaValidate值。只能校验成功一次,重复校验会返回校验不通过。有效时长默认20分钟,可在官网配置为1~20分钟 |
user | string | 是 | 32 | 用户信息,该字段必传,值可为空 |
备注:
user字段必传,可以填空值或一个定值,建议传用户账户便于后续定位数据!
请求体示例
captchaId=xxx&validate=xxx&signature=xxx&secretId=xxx&version=v2×tamp=xxx&nonce=xxx
响应结果
响应结果内容如下,响应返回码已省略,详细见响应返回码
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
result | boolean | 是 | 验证码最终判定结果,以此字段为准:true:校验通过,false:校验不通过 |
error | int | 是 | 错误码 |
msg | string | 是 | 错误描述信息 |
phone | string | 否 | 仅限于短信上行验证码类型,返回用户发送上行短信成功后的手机号 |
captchaType | int | 否 | 用于返回验证码类型,需要配置是否返回 |
token | string | 否 | 用于返回验证流程token,需要配置是否返回 |
sdkReduce | boolean | 否 | 用于标识是否走降级策略,需要配置是否返回 |
extraData | string | 否 | 返回业务方在初始化时传入的extraData内容,详见web接入参数配置。 |
响应体示例
{
"result": true,
"error": 0,
"msg": "ok",
"phone": "",
"extraData": "",
"captchaType": 2,
"token": "xxx",
"sdkReduce": false
}
接入示例代码
开发工具集(SDK)接入
为方便 JAVA 开发者调试和接入API,我们提供了配套的开发工具集(SDK),用于简化API接入流程。SDK中各接口调用方式基本相同,接入方式统一,并提供了一些接口调用过程中常见的异常处理方案。以下介绍了SDK的使用流程,以及使用SDK的简单示例。
- 准备工作
准备步骤详见通用步骤
- 使用方法
该接口的使用方法可参考SDK demo