服务端接入

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

完成客户端接入后,您还需要在服务端调用VerifyIntelligentCaptcha接口,发起验证请求。本文介绍如何调用VerifyIntelligentCaptcha接口。

前提条件

已为您的阿里云账号创建AccessKey。如果尚未创建AccessKey,请参见创建AccessKey

重要

禁止直接使用主账号AccessKey,因为主账号AccessKey一旦泄露将威胁您所有云资源的安全。请使用子账号(RAM用户)AccessKey,有效降低AccessKey泄露的风险。使用阿里云验证码,您需要为子账号授予阿里云验证码权限(AliyunYundunAFSFullAccess)。

下载并安装SDK

  1. 根据您服务端的开发环境,在OpenAPI开发者门户的验证码服务端智能验证示例代码页面,下载对应语言版本的服务端SDK包。

    验证码2.0服务端代码集成支持Java、TypeScript、Go、PHP、Python、C#、Darabonba语言。

    image.png

  2. 解压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

请求是否成功。

  • true:表示请求成功。

  • false:表示请求失败。

Code

String

返回码。更多信息,请参见返回参数说明

Message

String

返回详细信息。更多信息,请参见返回参数说明

Result

VerifyResult

Boolean

验证结果。

  • true:表示验证通过。

  • false:表示验证不通过。

VerifyCode

String

T001

验证通过。

T005

控制台开启测试模式,且配置了验证通过。如有疑问,请登录验证码2.0控制台查看对应场景的策略状态的配置。具体操作请参见步骤二:新建验证场景

F001

疑似攻击请求,风险策略不通过。如有疑问,您可以提交工单进行排查。

F002

您传入的CaptchaVerifyParam参数为空,CaptchaVerifyParam是由前端自动获取并传给您的服务端,服务端不能做任何更改,直接传给阿里云。请参考服务端接入检查您的集成代码。

F003

您传入的CaptchaVerifyParam格式不合法,CaptchaVerifyParam是由前端自动获取并传给您的服务端,服务端不能做任何更改,直接传给阿里云。请参考服务端接入检查您的集成代码。

F004

控制台开启测试模式,且配置了验证不通过。如有疑问,请登录验证码2.0控制台查看对应场景的策略状态配置。具体操作请参见步骤二:新建验证场景

F005

CaptchaVerifyParam中的场景ID(sceneId)不合法,CaptchaVerifyParam是由前端自动获取并传给您的服务端,服务端不能做任何更改,直接传给阿里云。请参考服务端接入检查您的集成代码。

F006

CaptchaVerifyParam中的场景ID(sceneId)不合法,前端集成需要传入您账户创建的场景ID,请登录验证码2.0控制台查看场景配置。

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

您传入的CaptchaVerifyParam缺少参数,CaptchaVerifyParam是由前端自动获取并传给您的服务端,服务端不能做任何更改,直接传给阿里云。请参考发起认证请求检查您的集成代码。

F014

查询不到初始化记录,发起验证请求前需先发起客户端初始化请求。

F015

验证交互不通过。例如拼图没有滑动到正确位置,空间推理的答案选择错误等,可以刷新验证码重新完成交互。

F016

控制台自定义策略配置URL验证导致不通过,请登录验证码2.0控制台自定义策略中URL验证策略进行调整,具体操作请参见设置自定义策略

F017

疑似攻击请求,协议或参数异常不通过。

返回参数HTTP Status CodeCodeMessage的详细说明,如下表所示。

HTTP Status Code

Code

Message

200

Success

成功。

400

MissingParameter

缺少必须参数。

401

InvalidParameter

参数不合法。

403

Forbidden.AccountAccessDenied

无权限,可能是未开通服务,或已欠费。

403

Forbidden.RAMUserAccessDenied

RAM用户无权限,请授权 AliyunYundunAFSFullAccess。具体操作,请参见为RAM角色授权

500

InternalError

系统内部错误,建议重试。如果仍然报错,请提交工单联系我们。