文件名称:芝麻信用NodeJSSDK.zip
文件大小:23KB
文件格式:ZIP
更新时间:2022-08-04 20:18:07
开源项目
该项目是芝麻信用平台的 NodeJS SDK 开发包,非官方!接入流程1. 注册芝麻信用商家服务平台并签约2. 在芝麻信用商家服务平台创建商家应用并交换公钥与芝麻信用交换公钥的步骤:进入openssl运行genrsa -out app_private_key.pem 1024生成一个私钥运行rsa -in app_private_key.pem -pubout -out app_public_key.pem生成公钥进入芝麻信用后台,将生成的公钥 去除 首行 / 尾行 / 换行符 粘贴进应用的公钥一栏应用创建后,点击应用的芝麻公钥一栏,得到芝麻信用的公钥(原始格式)将其整理为RSA公钥形式, 即加入首行,尾行,以及每64字符就换行, 并保存为 zmxy_public_key.pem至此我们一共有三个秘钥文件,分别是:app_private_key.pem 应用私钥zmxy_public_key.pem 芝麻信用公钥app_public_key.pem 应用公钥(仅用于调试)3. 使用SDK在任意Node项目中可以通过npm安装npm install zmxy --save在保存秘钥的文件夹下创建app.js文件const fs = require('fs');const ZmxyClient = require('zmxy').default;const zmxy = new ZmxyClient({ appId: '123456', //芝麻应用App ID appPrivateKey: fs.readFileSync(`${__dirname}/app_private_key.pem`), //App私钥 zmxyPublicKey: fs.readFileSync(`${__dirname}/zmxy_public_key.pem`) //芝麻公钥});zmxy.verifyIvs({ name: '张三', mobile: '12345678901'}).then(({ result }) => { console.log(result); }).catch((err) => { console.error(err); });请求成功后可以看到控制台打印芝麻信用的返回{ success: true, biz_no: 'ZM2016102030000000XXXXXXXXX', ivs_detail: [ { code: 'PHONE_Match_Recency_Bad', description: '电话号码与其他信息匹配,但匹配后的信息近期不活跃' }, { code: 'NAME_Match_Reliability_Bad', description: '姓名与其他信息匹配,但匹配后的信息未经认证' } ], ivs_score: 72 }SDK功能反欺诈信息验证zmxy.verifyIvs({ name: '张三', mobile: '12345678901'}).then(({ result }) => { console.log(result); });查询芝麻评分由于芝麻评分需要用户授权,因此首先需要生成授权URL生成授权URL授权URL可以通过姓名 身份证或者手机号得到, 同时又支持PC网页和H5页面,排列组合共4种情况如下手机号 PCconst { url } = zmxyClient.getAuthorizeUrl({ mobile: '12345678901'});手机号 H5const { url } = zmxyClient.getAuthorizeUrl({ mobile: '12345678901'}, 'h5');身份证 PCconst { url } = zmxyClient.getAuthorizeUrl({ name: '张三', certNo: '111111111111111111'});身份证 H5const { url } = zmxyClient.getAuthorizeUrl({ name: '张三', certNo: '111111111111111111'}, 'h5');获得OpenId获得授权URL后, 可以在浏览器中打开此URL,根据提示授权后会被重定向到芝麻应用的回调地址, 地址Query中的params参数会携带OpenId, 可以通过如下方式获得const { open_id } = zmxyClient.getOpenId(params);查询芝麻信用分有了OpenID后就可以查询芝麻信用分zmxyClient.getCreditScore('openid').then((r) => { console.log(r.result.zm_score) });查询行业关注名单同上获得OpenId后可做如下查询zmxyClient.verifyWatchlist('openid').then((r) => { console.log(r.result.is_matched) });开启调试由于SDK使用了request, 所以可以直接在命令行中通过环境变量开启Debug模式NODE_DEBUG=request node app.js
【文件预览】:
zmxy-master
----codecov.yml(449B)
----.eslintrc(589B)
----src()
--------index.js(12KB)
----.babelrc(195B)
----.npmignore(72B)
----examples()
--------app.js(468B)
--------app_private_key.pem(887B)
--------zmxy_public_key.pem(272B)
----.travis.yml(903B)
----LICENSE(1KB)
----test()
--------request.js(13KB)
--------_keys1()
--------basic.js(2KB)
--------_keys2()
----README.md(5KB)
----Makefile(0B)
----.editorconfig(152B)
----.gitignore(733B)
----index.js(106B)
----package.json(2KB)