服务端接入
本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
完成客户端接入后,您还需要在服务端调用VerifyIntelligentCaptcha
接口,发起验证请求。本文介绍如何调用VerifyIntelligentCaptcha
接口。
前提条件
已为您的阿里云账号创建AccessKey。如果尚未创建AccessKey,请参见创建AccessKey。
禁止直接使用主账号AccessKey,因为主账号AccessKey一旦泄露将威胁您所有云资源的安全。请使用子账号(RAM用户)AccessKey,有效降低AccessKey泄露的风险。使用阿里云验证码,您需要为子账号授予阿里云验证码权限(AliyunYundunAFSFullAccess)。
下载并安装SDK
根据您服务端的开发环境,在OpenAPI开发者门户的验证码服务端智能验证示例代码页面,下载对应语言版本的服务端SDK包。
验证码2.0服务端代码集成支持Java、TypeScript、Go、PHP、Python、C#、Darabonba语言。
解压SDK包,并加载到您的服务端工程中。
调用VerifyIntelligentCaptcha接口
如果您在调用过程中遇到任何问题,请提交工单联系我们。
发起认证请求
接口名:VerifyIntelligentCaptcha
服务地址:captcha.cn-shanghai.aliyuncs.com
请求方法:POST
传输协议:HTTPS
接口说明:客户端验证码配置完成后,在服务端调用本接口进行验证
请求参数
名称 | 类型 | 是否必选 | 描述 | 示例值 |
CaptchaVerifyParam | String | 是 | 由验证码脚本回调的验证参数,直接将全部参数信息由客户端传给服务端即可。 警告 禁止对验证参数做任何修改,否则业务会报错。 | {"sceneId":"xxxxxx","certifyId":"xxxxxx","deviceToken":"xxxxxxx==","data":"xxxxxx==","..."} |
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 |
| ||||
F007 | 验证请求和初始化请求间隔超出20分钟时间,请重新发起初始化请求。 | ||||
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 | 疑似攻击请求,协议或参数异常不通过。 |
返回参数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 | 系统内部错误,建议重试。如果仍然报错,请提交工单联系我们。 |