服务端接入
本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
完成客户端接入后,您还需要在服务端调用VerifyIntelligentCaptcha接口,发起验证请求。本文介绍如何调用VerifyIntelligentCaptcha接口。
前提条件
您需要创建访问凭据,验证码2.0服务端支持使用AccessKey、STS Token等多种方式调用,具体请参见使用Credentials工具。
禁止直接使用主账号AccessKey,因为主账号AccessKey一旦泄露将威胁您所有云资源的安全。请使用子账号(RAM用户)AccessKey,有效降低AccessKey泄露的风险。使用阿里云验证码,您需要为子账号授予阿里云验证码权限(AliyunYundunAFSFullAccess)。
下载并安装SDK
根据您服务端的开发环境,在OpenAPI开发者门户的中,下载对应语言版本的服务端SDK包。验证码2.0服务端代码集成支持Java、TypeScript、Go、PHP、Python、.NET、C++和Swift语言。
支持的语言
SDK下载地址
Github源码地址
Java
Python
Typescript
Go
PHP
Swift
C++
.NET
解压SDK包,并加载到您的服务端工程中。
调用VerifyIntelligentCaptcha接口
发起认证请求
接口名:VerifyIntelligentCaptcha
AliyunCaptchaConfig参数region传值和服务端接入地址endpoint必须映射正确,否则会导致验证请求返回错误。
服务地址
客户端接入region传值
服务端接入对应的Endpoint地址
验签请求域名是否支持双栈
中国内地(上海)
cn
IPv4:captcha.cn-shanghai.aliyuncs.com
只支持IPv4
双栈:captcha-dualstack.cn-shanghai.aliyuncs.com
同时支持IPv4和IPv6
非中国内地(新加坡)
sgp
IPv4:captcha.ap-southeast-1.aliyuncs.com
只支持IPv4
双栈:captcha-dualstack.ap-southeast-1.aliyuncs.com
同时支持IPv4和IPv6
请求方法:POST
传输协议:HTTPS
接口说明:客户端验证码配置完成后,在服务端调用本接口进行验证。
请求参数
名称  | 类型  | 是否必选  | 描述  | 示例值  | 
CaptchaVerifyParam  | String  | 是  | 由验证码脚本回调的验证参数,直接将全部参数信息由客户端传给服务端即可。 警告  禁止对验证参数做任何修改,否则业务会报错。  | 
  | 
SceneId  | String  | 否  | 由您服务端写入本次验证对应的场景ID,建议传入,尤其在多场景下,防止前端被篡改为其他场景。  | Udw***d72  | 
返回数据
名称  | 类型  | 描述  | |||
HTTP Status Code  | Integer  | HTTP状态码。更多信息,请参见返回参数说明。  | |||
HTTP Body  | RequestId  | String  | 请求ID。  | ||
Success  | Boolean  | 请求是否成功。 
  | |||
Code  | String  | 返回码。更多信息,请参见返回参数说明。  | |||
Message  | String  | 返回详细信息。更多信息,请参见返回参数说明。  | |||
Result  | VerifyResult  | Boolean  | 验证结果。 
  | ||
VerifyCode  | String  | T001  | 服务端校验通过。  | ||
T005  | 控制台开启测试模式,且配置了验证通过。如有疑问,请登录验证码2.0控制台查看对应场景的策略状态的配置。具体操作请参见接入指引。  | ||||
F001  | 疑似攻击请求,风险策略不通过。  | ||||
F002  | 您传入的  | ||||
F003  | 您传入的  | ||||
F004  | 控制台开启测试模式,且配置了验证不通过。如有疑问,请登录验证码2.0控制台查看对应场景的策略状态配置。具体操作请参见场景管理。  | ||||
F005  | CaptchaVerifyParam中的场景ID(sceneId)不合法,CaptchaVerifyParam是由前端自动获取并传给您的服务端,服务端不能做任何更改,直接传给阿里云。请参考服务端接入检查您的集成代码。  | ||||
F006  | 
  | ||||
F008  | 验证数据重复提交。同一笔验证码请求只允许提交一次。  | ||||
F009  | 检测到虚拟设备环境,请检查是否使用vmware、virtualbox、hyper-v、parallels等虚拟机,avd、blue stacks、vbox/hyper-v等模拟器,桌面浏览器模拟移动设备等。如不需要拦截,请登录验证码2.0控制台自定义策略中关闭,具体操作请参见设置自定义策略。  | ||||
F010  | 同IP访问频率超出限制。如果需要自定义频率阈值,请登录验证码2.0控制台自定义策略进行配置,具体操作请参见设置自定义策略。  | ||||
F011  | 同设备访问频率超出限制。如果需要自定义频率阈值,请登录验证码2.0控制台自定义策略进行配置,具体操作请参见设置自定义策略。  | ||||
F012  | 您服务端参数里传入的SceneID需要与前端配置的场景ID(SceneId)保持一致。  | ||||
F013  | 您传入的  | ||||
F014  | 无初始化记录,可能存在两种原因: 
  | ||||
F015  | 验证交互不通过。例如拼图没有滑动到正确位置,可以刷新验证码重新完成交互。  | ||||
F016  | 控制台自定义策略配置URL验证导致不通过,请登录验证码2.0控制台自定义策略中URL验证策略进行调整,具体操作请参见设置自定义策略。  | ||||
F017  | 疑似攻击请求,协议或参数异常不通过。  | ||||
F018  | V3架构下,业务验签请求入参CaptchaVerifyParam重复使用。  | ||||
F019  | V3架构下,行为验证请求和业务验签请求间隔超出90秒或未发起行为验证就直接进行业务验签请求。  | ||||
F020  | V3架构下,业务验签请求的CaptchaVerifyParam与场景ID或用户不匹配。  | ||||
CertifyID  | String  | 
  | |||
返回参数HTTP Status Code、Code、Message的详细说明,如下表所示。
HTTP Status Code  | Code  | Message  | 
200  | Success  | 成功。  | 
400  | MissingParameter  | 缺少必须参数。  | 
401  | InvalidParameter  | 参数不合法。  | 
403  | Forbidden.AccountAccessDenied  | 无权限,可能是未开通服务,或已欠费。  | 
403  | Forbidden.RAMUserAccessDenied  | RAM用户无权限,请授权 AliyunYundunAFSFullAccess。具体操作,请参见为RAM角色授权。  | 
500  | InternalError  | 系统内部错误,建议重试。  |