这几天做阿里云云接口的身份证认证和银行卡认证,搞得头大,一个简单的事搞了很多麻烦,现在把正确的nodejs服务端代码记录下来,以备后用,以供参考。
前提是要在阿里云服务台上购买该服务哦,直接上代码,不啰嗦了:
const request = require('request');
const urlencode = require('urlencode');
// params.userID //阿里云账号编码
// params.verifyKey //阿里云账号=》风险识别=》接入管理=》风险认证配置
// params.appID //阿里云上注册你的应用程序时得到的编号
// params.appCode //阿里云上注册你的应用程序时得到的编码
// params.name //身份证上的姓名
// params.IDCard //身份证号码
// params.nonce_str //自定义随意字符串
function validIDCard(res, params, callback) {
request({
url : 'http://safrvcert.market.alicloudapi.com/safrv_2meta_id_name/?identifyNum=' + params.IDCard + '&__userId=' + params.userID+ '&userName=' + urlencode(params.name) + '&verifyKey=' + params.verifyKey,
method: 'GET',
headers: {
"Authorization":"APPCODE " + params.appCode,
"X-Ca-Timestamp": new Date().getTime(),
"X-Ca-Key": + params.appID,
"x-ca-nonce": params.nonce_str,
"X-Ca-Request-Mode":"DEBUG",
"X-Ca-Stage":"RELEASE",
"Content-Type":"application/json; charset=utf-8"
}
}, (error, response, body)=>{
var re = body ? JSON.parse(body) : null;
if(re && re.message == 'success' && re.value.message == 'success'){
callback(re)
}else{
res.json({
code: 100,
data: '验证未通过'
});
}
}
}