芝麻信用 NodeJS SDK开源项目

我要开发同款
匿名用户2016年10月27日
36阅读
开发技术JavaScript
所属分类Web应用开发、网站API
授权协议MIT

作品详情

该项目是芝麻信用平台的NodeJSSDK开发包,非官方!

接入流程1.注册芝麻信用商家服务平台并签约2.在芝麻信用商家服务平台创建商家应用并交换公钥

与芝麻信用交换公钥的步骤:

进入openssl

运行genrsa-outapp_private_key.pem1024生成一个私钥

运行rsa-inapp_private_key.pem-pubout-outapp_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种情况如下

手机号+PC

const { url } = zmxyClient.getAuthorizeUrl({  mobile: '12345678901'});

手机号+H5

const { url } = zmxyClient.getAuthorizeUrl({  mobile: '12345678901'}, 'h5');

身份证+PC

const { url } = zmxyClient.getAuthorizeUrl({  name: '张三',  certNo: '111111111111111111'});

身份证+H5

const { 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
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论