智能驗(yàn)證集成方式
智能驗(yàn)證是阿里巴巴集團(tuán)提供的一種驗(yàn)證碼解決方案。對(duì)大部分正常用戶來說,只需一次點(diǎn)擊交互即可完成驗(yàn)證碼操作。對(duì)于您的業(yè)務(wù)來說,智能驗(yàn)證采用先進(jìn)的風(fēng)險(xiǎn)分析引擎,有效區(qū)分來自人類與機(jī)器人的訪問行為并攔截機(jī)器風(fēng)險(xiǎn),為您提供安全可靠的業(yè)務(wù)環(huán)境。
前端接入代碼集成
在需要使用智能驗(yàn)證功能的Web前端頁面中,需要對(duì)智能驗(yàn)證進(jìn)行初始化。以下代碼為智能驗(yàn)證功能的前端接入代碼示例。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<script src="https://g.alicdn.com/AWSC/AWSC/awsc.js"></script>
</head>
<body>
<div id="sc"></div>
<script>
// 實(shí)例化ic對(duì)象
AWSC.use("ic", function (state, module) {
// 初始化
window.ic = module.init({
// 應(yīng)用類型標(biāo)識(shí)。它和使用場(chǎng)景標(biāo)識(shí)(scene字段)一起決定了智能驗(yàn)證的業(yè)務(wù)場(chǎng)景與后端對(duì)應(yīng)使用的策略模型。您可以在阿里云驗(yàn)證碼控制臺(tái)的配置管理頁簽找到對(duì)應(yīng)的appkey字段值,請(qǐng)務(wù)必正確填寫。
appkey: "CF_APP_1",
// 使用場(chǎng)景標(biāo)識(shí)。它和應(yīng)用類型標(biāo)識(shí)(appkey字段)一起決定了智能驗(yàn)證的業(yè)務(wù)場(chǎng)景與后端對(duì)應(yīng)使用的策略模型。您可以在阿里云驗(yàn)證碼控制臺(tái)的配置管理頁簽找到對(duì)應(yīng)的scene值,請(qǐng)務(wù)必正確填寫。
scene: "nvc_register",
// 聲明智能驗(yàn)證需要渲染的目標(biāo)元素ID。
renderTo: 'sc',
// 驗(yàn)證通過時(shí)會(huì)觸發(fā)該回調(diào)參數(shù)。您可以在該回調(diào)參數(shù)中將會(huì)話ID(sessionId)、簽名串(sig)、請(qǐng)求唯一標(biāo)識(shí)(token)字段記錄下來,隨業(yè)務(wù)請(qǐng)求一同發(fā)送至您的服務(wù)端調(diào)用驗(yàn)簽。
success: function (data) {
window.console && console.log(data.sessionId)
window.console && console.log(data.sig)
window.console && console.log(data.token)
},
// 驗(yàn)證失敗時(shí)觸發(fā)該回調(diào)參數(shù)
fail: function (failCode) {
console.log(failCode)
},
// 驗(yàn)證碼加載異常時(shí)觸發(fā)該回調(diào)參數(shù)
error: function (errorCode) {
console.log(errorCode)
}
});
})
</script>
</body>
</html>
初始化
資源引入
在Web頁面中使用滑動(dòng)驗(yàn)證功能,需要在前端頁面代碼中添加以下代碼,引入所需的JS資源。
<script src="https://g.alicdn.com/AWSC/AWSC/awsc.js"></script>
。初始化代碼說明
// 實(shí)例化ic對(duì)象 AWSC.use("ic", function (state, module) { var icOption = {} // 智能驗(yàn)證的初始化參數(shù)對(duì)象 // 初始化 調(diào)用module.init對(duì)智能驗(yàn)證進(jìn)行初始化 window.ic = module.init(icOption); })
說明初始化
module.init
完成后,會(huì)返回一個(gè)實(shí)例化的ic對(duì)象。示例代碼中該實(shí)例化的ic對(duì)象存在window.ic
變量中。初始化參數(shù)說明
在前端代碼實(shí)例化驗(yàn)證組件時(shí)提供了以下初始化參數(shù),您可以根據(jù)業(yè)務(wù)需要在代碼中調(diào)整這些參數(shù)。
參數(shù)
含義
是否必填
appkey
應(yīng)用類型標(biāo)識(shí)。它和使用場(chǎng)景標(biāo)識(shí)(scene字段)一起決定了智能驗(yàn)證的業(yè)務(wù)場(chǎng)景與后端對(duì)應(yīng)使用的策略模型。您可以在阿里云驗(yàn)證碼控制臺(tái)的配置管理頁簽找到對(duì)應(yīng)的appkey字段值,請(qǐng)務(wù)必正確填寫。
是
scene
使用場(chǎng)景標(biāo)識(shí)。它和應(yīng)用類型標(biāo)識(shí)(appkey字段)一起決定了智能驗(yàn)證的業(yè)務(wù)場(chǎng)景與后端對(duì)應(yīng)使用的策略模型。您可以在阿里云驗(yàn)證碼控制臺(tái)的配置管理頁簽找到對(duì)應(yīng)的scene值,請(qǐng)務(wù)必正確填寫。
是
renderTo
聲明智能驗(yàn)證需要渲染的目標(biāo)元素ID。
是
width
智能驗(yàn)證組件的寬度,默認(rèn)值300px。強(qiáng)烈建議您將該寬度設(shè)置為不小于300px。
否
language
驗(yàn)證組件的語言,默認(rèn)值為cn(中文)。
否
upLang
二次驗(yàn)證時(shí),用于自定義文案。詳細(xì)配置方法請(qǐng)參見自定義文案。
否
height
智能驗(yàn)證組件的高度,默認(rèn)值42px。強(qiáng)烈建議您將該高度設(shè)置為不小于42px。
否
default_txt
智能驗(yàn)證組件初始狀態(tài)文案。
否
success_txt
智能驗(yàn)證組件驗(yàn)證通過狀態(tài)文案。
否
fail_txt
智能驗(yàn)證組件驗(yàn)證失?。〝r截)狀態(tài)文案。
否
scanning_txt
智能驗(yàn)證組件驗(yàn)證中狀態(tài)文案。
否
test
測(cè)試字段,用于測(cè)試驗(yàn)證碼的不同狀態(tài)。
否
success
前端智能驗(yàn)證通過時(shí)會(huì)觸發(fā)該回調(diào)函數(shù)。您可以在該回調(diào)參數(shù)中將請(qǐng)求標(biāo)識(shí)會(huì)話ID(sessionid)、簽名串(sig)字段記錄下來,隨業(yè)務(wù)請(qǐng)求一同發(fā)送至您的服務(wù)端調(diào)用驗(yàn)簽。
否
fail
智能驗(yàn)證失敗時(shí)會(huì)觸發(fā)該回調(diào)函數(shù)。
否
error
智能驗(yàn)證出現(xiàn)錯(cuò)誤時(shí)觸發(fā)該回調(diào)函數(shù)。
否
測(cè)試
在將前端接入代碼集成至Web頁面后,建議您在正式上線前通過以下方法進(jìn)行測(cè)試。
通過設(shè)定初始化參數(shù)test的值復(fù)現(xiàn)智能現(xiàn)驗(yàn)證各個(gè)狀態(tài)工作機(jī)制
您可以通過將test字段值設(shè)置為智能驗(yàn)證服務(wù)提供的不同內(nèi)容,來測(cè)智能試驗(yàn)證各個(gè)狀態(tài)的效果。通過配置前端頁面初始化代碼中的test字段來直接控制智能驗(yàn)證服務(wù)接口的返回結(jié)果(通過、攔截)。
test字段值
模擬效果
module.TEST_PASS
智能驗(yàn)證通過
module.TEST_BLOCK
智能驗(yàn)證未通過,直接攔截
module.TEST_NC_PASS
喚醒滑動(dòng)驗(yàn)證,且滑動(dòng)驗(yàn)證通過
module.TEST_NC_BLOCK
喚醒滑動(dòng)驗(yàn)證,且滑動(dòng)驗(yàn)證不通過
說明前綴
module
為AWSC.use
返回的對(duì)象,示例代碼中命名為module
。新版集成代碼中token是自動(dòng)生成的,無需用戶自行指定token。如果您在正式上線或進(jìn)行完整的功能性測(cè)試時(shí)未提前刪除test配置項(xiàng),會(huì)導(dǎo)致token異常,從而可能導(dǎo)致集成操作中某個(gè)環(huán)節(jié)出現(xiàn)異常,例如:驗(yàn)簽失敗等。
通過這樣的方式,您可以直觀地觀察驗(yàn)證碼各個(gè)狀態(tài)的交互、樣式和流程。
測(cè)試代碼示例:
AWSC.use("ic", function (state, module) { window.ic = module.init({ ... ... // 該配置項(xiàng)為測(cè)試項(xiàng) 在僅用來測(cè)試驗(yàn)證碼不同狀態(tài)時(shí)使用。上線時(shí)請(qǐng)將其刪除. 智能驗(yàn)證test配置項(xiàng)有4種不同的值對(duì)應(yīng)不同的驗(yàn)證碼狀態(tài),具體請(qǐng)參考文中參數(shù)定義說明部分。 test: module.TEST_PASS, // 測(cè)試智能驗(yàn)證通過 // test: module.TEST_BLOCK, // 測(cè)試智能驗(yàn)證失敗 // test: module.TEST_NC_PASS, // 喚醒滑動(dòng)驗(yàn)證并驗(yàn)證通過 // test: module.TEST_NC_BLOCK, // 喚醒滑動(dòng)驗(yàn)證并驗(yàn)證失敗 ... ... }); })
在正式上線前,建議您執(zhí)行完整的功能性測(cè)試和兼容性測(cè)試。在測(cè)試過程中,請(qǐng)注意:
確保測(cè)試過程中,使用阿里云驗(yàn)證碼控制臺(tái)中為您分配的appkey和scene值進(jìn)行測(cè)試。
對(duì)于Internet Explorer瀏覽器,驗(yàn)證組件最低支持至Internet Explorer 9,Internet Explorer 8及以下不支持。
在完整的功能性測(cè)試時(shí),若成功調(diào)用獲取的token包含CF_APP_1的內(nèi)容,請(qǐng)檢查test配置項(xiàng)是否刪除,避免導(dǎo)致完整功能性測(cè)試失敗。
對(duì)生成的ic對(duì)象進(jìn)一步操作說明
初始化module.init
完成之后,我們會(huì)返回一個(gè)實(shí)例化的ic對(duì)象,示例代碼中存在window.ic
變量中。在該對(duì)象中我們提供例一些方法,您可以按需對(duì)返回的ic對(duì)象進(jìn)行進(jìn)一步的操作。調(diào)用方式為window.ic[方法名]
。
方法名 | 參數(shù) | 作用 |
reset | 無 | 任何時(shí)候調(diào)用此方法,可以將智能驗(yàn)證重置為初始狀態(tài)(即等待交互狀態(tài))。 |