接入指引
开通验证码2.0后,您需要在客户端和服务端接入验证码后,才能使用验证码进行验证。本文介绍如何在客户端和服务端接入。
方法概览
接入阿里云验证码只需要4步:
验证时序图
滑块验证、拼图验证、一点即过和图像复原
时序图说明:
用户在业务客户端初始化验证码时,业务客户端将向验证码服务器请求获取验证码的JS资源(例如图片或题目等)。
验证码服务端动态返回相关JS资源,业务客户端进行资源加载并渲染验证码。
用户在业务客户端成功完成验证码交互(例如滑块、拼图或图像复原)后,JS自动发送答案验证请求,验证码服务端验证答案是否正确和是否为机器请求。
验证码服务端如果验证通过后,将返回CaptchaVerifyParam,如果验证不通过,将自动刷新验证码,重新进行验证。
业务客户端携带业务参数和CaptchaVerifyParam发送请求到业务服务端进行参数校验。
业务服务端调用验证码服务端接口VerifyIntelligentCaptcha进行CaptchaVerifyParam参数的校验。
验证码服务端验证答案是否正确和是否为机器请求,返回验证结果。
业务服务端根据验证结果进行业务处理后,向客户端网页返回验证结果和业务处理结果。
无痕验证
时序图说明:
用户在业务客户端初始化验证码时,业务客户端将向验证码服务器请求获取验证码的JS资源(例如图片或题目等)。
验证码服务端动态返回相关JS资源。
用户在业务客户端首次单击触发按钮发起验证,阿里云服务端会验证是否为安全用户。
阿里云服务端将验证结果返回到业务客户端:
如果用户无风险,则首次验证通过,返回CaptchaVerifyParam并进行后续业务验签。
如果用户存在风险,则首次验证可疑,将进行二次验证
业务客户端进行JS资源加载并渲染验证码,用户在业务客户端成功完成验证码交互(例如滑块、拼图或图像复原)后,JS自动发送答案验证请求,验证码服务端验证答案是否正确和是否为机器请求。
如果二次验证通过,将返回CaptchaVerifyParam并进行后续业务验签;如果二次验证不通过,业务客户端将自动刷新验证码,重新进行验证。
业务客户端携带业务参数和CaptchaVerifyParam发送请求到业务服务端进行参数校验。
业务服务端调用验证码服务端接口VerifyIntelligentCaptcha进行CaptchaVerifyParam参数的校验。
验证码服务端验证答案是否正确和是否为机器请求,返回验证结果。
业务服务端根据验证结果进行业务处理后,向客户端网页返回验证结果和业务处理结果。
步骤一:开通验证码服务
步骤二:新建验证场景
在左侧导航栏,单击
。根据业务场景需求新建验证场景,设置场景名称、客户端类型、验证码形态等参数,获取场景ID。
步骤三:接入验证码
如果您在接入过程中遇到问题,请提交工单联系我们。
Web和H5接入
如果采用Web和H5接入,新建验证场景时,客户端类型需选择为Web或H5。
客户端接入:在使用验证功能的客户端页面(Web和H5)中,集成验证码初始化代码,实现客户端接入。关于集成验证码的初始化代码示例,请参见Web和H5客户端V3架构接入。
服务端接入:在客户端页面(Web和H5)对应的服务端中,集成SDK后,调用服务端接入初始化接口VerifyIntelligentCaptcha,发起验证码验证。具体操作,请参见服务端接入。
App接入
如果采用App接入,新建验证场景时,客户端类型需选择为App(Webview+H5)。
客户端接入:在使用验证功能的客户端页面(Web和H5)中,集成验证码初始化代码,实现客户端接入。关于集成验证码的初始化代码示例,请参见Web和H5客户端V3架构接入。
服务端接入:在客户端页面(Web和H5)对应的服务端中,集成SDK后,调用服务端接入初始化接口VerifyIntelligentCaptcha,发起验证码验证。具体操作,请参见服务端接入。
App端接入
Android App端:利用WebView组件在App应用中开启并部署需要接入阿里云验证码2.0的业务页面。具体操作,请参见使用WebView在Android App中接入验证码2.0。
iOS App端:利用WKWebView组件在App应用中开启并部署需要接入阿里云验证码2.0的业务页面。具体操作,请参见使用WKWebView在iOS App中接入验证码2.0(Swift)。
微信小程序接入
如果采用微信小程序接入,新建验证场景时,客户端类型需选择为微信小程序。
微信小程序接入:在控制台添加验证场景后,您需要在使用验证功能的微信小程序页面中,集成验证码初始化代码,实现微信小程序接入。具体操作,请参见微信小程序接入。
接入验证
测试业务客户端初始化是否成功
接入配置完成后,打开集成验证码的页面浏览器控制台,查看Network信息。
如果存在如下所有内容,表示客户端接入成功:
初始化请求(图示①)
初始化请求的Preview中存在验证码相关信息(图示②),且success为true。
验证码资源(图示③)
测试业务客户端验证是否成功
发送验证请求后,打开集成验证码的页面浏览器控制台,查看Network信息。
如果VerifyResult为true(图示①)则表示验证成功。
测试业务服务端接入是否成功
客户端接入成功后,会通过业务接口将验证参数captchaVerifyParam发送给业务服务端。业务服务端调用阿里云验证接口VerifyIntelligentCaptcha后,会返回验证结果。
您可以在业务服务端请求中查看验证结果。如果VerifyResult为true代表服务端接入成功。
{ "RequestId": "C******-B***-4***-A***-5*******1", "Message": "success", "HttpStatusCode": 200, "Code": "Success", "Success": true, "Result": { "VerifyCode": "T001", "VerifyResult": true } }
测试验证码是否能正常使用
服务端接入成功后,会将业务结果和阿里云验证码结果返回给客户端,客户端根据返回结果做出不同的业务处理。您可以在客户端使用验证码,测试验证效果。
滑块验证、拼图验证、一点即过和图像复原:按提示进行验证后,显示验证通过,则表示验证成功。
无痕验证:业务交互成功,则表示验证成功。以登录场景为例,输入用户名和密码并登录后,显示登录成功,则表示验证成功。
步骤四:发布上线
完成上述步骤后,即可将验证码发布上线。
查看统计数据
完成接入配置后,您可以在查看统计数据页面,查看验证数据。