集成流程

以下为行为验证的集成流程,整个集成流程是顺序进行的,在下一个步骤开始前请确保上一个步骤的检查点都已经正确完成。

productflow

step1. 注册极验账号

访问验证管理后台,按照步骤注册极验账号,然后登录到验证管理后台。进入后台之后,选择新增验证来增加一个场景的验证码配置项,极验会为该配置项分配一个唯一的 ID KEY 。进入验证码配置项的管理界面,可以对验证码相关的各项属性进行配置或自定义,在验证集成阶段配置项大部分可以选择默认即可。

检查点:

  • 获取一组ID和KEY,例如:
ID(07df3141a35**********19a473d7c50), 
KEY(543b19036ef********8e07d121b81e9)

step2. 集成服务端SDK

服务端SDK的主要目的是为客户端提供两个接口:API1(验证初始化)、API2(二次验证,判断验证结果的真实性)。服务端SDK的具体集成细节和demo请参考服务端部署

检查点:

  • API1和API2可以正常访问,API2目前只要能返回fail即可,替换以下的url为网站主为API1和API2分配的url,API2的参数暂时不需要替换。检查方式:
API1:  
request: curl -c /tmp/cookie 'http://www.geetest.com/demo/gt/register-slide'
response:
{
"success": 1,
"challenge": "916e3a63fd4029a600fe5be03d6aa9aa",
"gt": "e52c06c937981b90b275d0aff1d40076",
"new_captcha": true
}
API2
request: curl -b /tmp/cookie -d 'geetest_challenge=1a76d9da01e21b0178824dbed1425ecaiy&geetest_validate=727f1edd0455aeff265f9903d7ac097a&geetest_seccode=727f1edd0455aeff265f9903d7ac097a|jordan' 'http://www.geetest.com/demo/gt/validate-slide'
response:
{
"status":"fail",
"info":"登录失败"
}

step3. 集成客户端SDK

客户端SDK支持WebiOSAndroid三大平台,是验证码的UI交互核心,会涉及到网站主的两个API请求以及与极验云服务的几个API请求。客户端SDK的具体集成细节和demo请参考客户端部署

检查点:

  • 成功访问API1,获取到返回的challenge参数,完成初始化
  • 验证码正常弹出
  • 验证码可以正常操作,出现验证成功界面
  • 成功获取到发起API2请求的三个参数:geetest_challenge,geetest_validate,geetest_seccode
  • 成功发起API2请求,抓包或者浏览器控制台可以看到请求已正确发出

step4. API2调试

在步骤2中已经检查了API2是否可以正常访问,本步骤是为了检查API2逻辑是否正确,即是否能够正确判断验证有没有通过。

检查点:

  • 服务端成功收到客户端发出的API2请求,且获取到geetest_challenge,geetest_validate,geetest_seccode三个参数
  • 服务端调用SDK中的方法后,构造出与客户端约定好的数据返回,可以正确表示出验证是否成功
  • 客户端成功收到API2的返回结果,根据返回结果执行业务逻辑

step5. 宕机模式模拟

宕机模式,即bypass是为了处理极端情况下,网站主服务器连接不上极验云服务器时的一种应急处理模式,保障用户操作不受影响。

模拟宕机模式:

  • 以下模拟方式原理分为两类,一类是极验云监控接口不可用,网络不通,等同于真实情况极验云遭受攻击或者其他异常导致云端宕机;另一类是极验云监控接口正常,极验云经过自检,发现云端状态异常,而将此异常结果返回。

方式一 配置文件中将id改成错误账号

geetest_config文件中将GEETEST_ID的值改成1234567890

方式二 配置文件中将极验云监听接口改成错误链接

geetest_config文件中将BYPASS_URL的值改成http://www.google.com

方式三 修改服务器hosts,将极验云监听接口域名绑定错误ip

修改服务器hosts配置文件:127.0.0.1 bypass.geetest.com

方式四 极验云监听接口返回fail状态数据

联系极验客服,提供id号,由极验人员操作,可使极验云端接口直接返回fail状态数据

检查点:

  • 宕机模式下验证流程正常