服務端接入
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
完成客戶端接入后,您還需要在服務端調用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 | 系統內部錯誤,建議重試。如果仍然報錯,請提交工單聯系我們。 |