完成用戶端接入後,您還需要在服務端調用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 | |||||
F011 | |||||
F012 | 您服務端參數裡傳入的SceneID需要與前端配置的情境ID(SceneId)保持一致。 | ||||
F013 | 您傳入的 | ||||
F014 | 無初始化記錄,可能存在兩種原因:
| ||||
F015 | 驗證互動不通過。例如拼圖沒有滑動到正確位置,可以重新整理驗證碼重新完成互動。 | ||||
F016 | 控制台自訂策略配置URL驗證導致不通過,請登入驗證碼2.0控制台自訂策略中URL驗證策略進行調整,具體操作請參見設定自訂策略。 | ||||
F017 | 疑似攻擊請求,協議或參數異常不通過。 | ||||
F018 | V3架構下,業務驗簽請求入參CaptchaVerifyParam重複使用。 | ||||
F019 | V3架構下,行為驗證請求和業務驗簽請求間隔超出90秒或未發起行為驗證就直接進行業務驗簽請求。 | ||||
F020 | V3架構下,業務驗簽請求的CaptchaVerifyParam與情境ID或使用者不匹配。 | ||||
F023 | 在V2架構中,若初始化失敗,將自動觸發驗證請求。當該請求校正未通過時,將返回此狀態代碼。此過程屬於容災機制,不產生計費。 | ||||
F024 | 檢測到自動化指令碼類比點擊、滑動等操作行為。若當前為引入 touch-emulator 以在案頭端類比觸摸事件的 Vue 應用,或其他存在合法類比點擊情境的業務,請勿啟用攔截。如無需攔截此類行為,請在自定义策略中關閉拦截模拟点击行为,具體操作請參見設定自訂策略。 | ||||
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 | 系統內部錯誤,建議重試。 |