本文介绍了卡证核身方案纯服务端集成的Node.js SDK调用示例。
前提条件
- 需要使用的Node.js版本在8.0版本及以上。
- 已添加认证场景,并获取对应的场景ID。具体操作,请参见添加认证场景。
安装SDK
关于Node.js SDK源代码,请参见Node.js SDK包。
使用npm
来管理您的依赖:
npm install @alicloud/cloudauth20200618 -S
示例
方式一:不使用本地证件示例
const CloudAuth = require("@alicloud/cloudauth20200618"); const CloudAuthClient = CloudAuth.default; const Util = require("@alicloud/tea-util"); const { default: Credential } = require('@alicloud/credentials'); async function doAction() { // 通过以下代码创建Config实例并初始化。 // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 // 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。 const cred = new Credential(); const client = new CloudAuthClient({ credential: cred, // 设置endpoint,IPv6为:cloudauth-dualstack.aliyuncs.com。 endpoint: "cloudauth.aliyuncs.com", // 设置http代理。 // httpProxy: "http://xxx.xxx.xxx.xxx:9999", // 设置https代理。 // httpsProxy: "https://username:password@xxx.xxx.xxx.xxx:9999", // 设置regionId,regionId为固定值。 regionId: "cn-hangzhou" }); // 通过以下代码创建RuntimeObject实例并设置运行参数。 const runtimeObject = new Util.RuntimeOptions({ // 设置调用超时时间(单位ms)。 readTimeout: 10000, // 设置连接超时时间(单位ms)。 connectTimeout: 10000, // 设置请求超时后是否重试。 autoretry: false }); // 通过以下代码创建API请求并设置参数。 const request = new CloudAuth.ElementSmartVerifyRequest({ sceneId: 200xxxx, // 设置商户请求的唯一标识。 outerOrderNo: "xxx", // 模式。 mode: "OCR_VERIFY_ID_NAME", // 固定值。 certType: "IDENTITY_CARD", // certName: "张三", // certNo: "18位身份证号", // certNationalEmblemUrl: "https://www.aliyun.com/test.jpeg", certUrl: "https://www.aliyun.com/test.jpeg" }); // 通过以下代码发起请求并处理应答和异常。 try { const response = await client.elementSmartVerify(request, runtimeObject); console.log(response.requestId); console.log(response.code); console.log(response.message); console.log(response.resultObject.passed); console.log(response.resultObject.certifyId); console.log(response.resultObject.subCode); console.log(response.resultObject.materialInfo); return "success"; } catch (e) { console.log(e); } } doAction().then(function (response) { console.log(response); });
方式二:使用本地证件示例
const CloudAuth = require("@alicloud/cloudauth20200618"); const CloudAuthClient = CloudAuth.default; const Util = require("@alicloud/tea-util"); const Fs = require('fs'); const { default: Credential } = require('@alicloud/credentials'); async function doAction() { // 通过以下代码创建Config实例并初始化。 // 通过以下代码创建Config实例并初始化。 // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 // 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。 const cred = new Credential(); const client = new CloudAuthClient({ credential: cred, // 设置Endpoint,IPv6为:cloudauth-dualstack.aliyuncs.com。 endpoint: "cloudauth.aliyuncs.com", // 设置http代理。 //httpProxy: "http://xxx.xxx.xxx.xxx:9999", // 设置https代理。 //httpsProxy: "https://username:password@xxx.xxx.xxx.xxx:9999"。 // 设置regionId,regionId为固定值。 regionId: "cn-hangzhou" }); // 通过以下代码创建RuntimeObject实例并设置运行参数。 const runtimeObject = new Util.RuntimeOptions({ // 设置调用超时时间(单位ms)。 readTimeout: 10000, // 设置连接超时时间(单位ms)。 connectTimeout: 10000, // 设置是否自动重试。 autoretry: false }); // 通过以下代码创建API请求并设置参数。 // 设置本地文件路径。 const fileStream = fs.createReadStream("xxx"); const request = new CloudAuth.ElementSmartVerifyAdvanceRequest({ sceneId: 200xxxx, // 设置商户请求的唯一标识。 outerOrderNo: "xxx", // 模式。 mode: "OCR_VERIFY_ID_NAME", // 固定值。 certType: "IDENTITY_CARD", // certName: "张三", // certNo: "18位身份证号", // certNationalEmblemUrl: "https://www.aliyun.com/test.jpeg", certFileObject: fileStream }); // 通过以下代码发起请求并处理应答和异常。 try { const response = await client.elementSmartVerifyAdvance(request, runtimeObject); console.log(response.requestId); console.log(response.code); console.log(response.message); console.log(response.resultObject.passed); console.log(response.resultObject.certifyId); console.log(response.resultObject.subCode); console.log(response.resultObject.materialInfo); return "success"; } catch (e) { console.log(e); } // 通过以下代码关闭资源。 fileStream.close(); } doAction().then(function (response) { console.log(response); });
说明
Credentials工具配置方法,请参见身份验证配置。
反馈
- 本页导读
文档反馈