当前位置: 首页 > 软件库 > Web应用开发 > 网站API >

芝麻信用 NodeJS SDK

授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 网站API
软件类型 开源软件
地区 国产
投 递 者 严正诚
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

接入流程

1. 注册芝麻信用商家服务平台并签约

2. 在芝麻信用商家服务平台创建商家应用并交换公钥

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

  1. 进入openssl

  2. 运行genrsa -out app_private_key.pem 1024生成一个私钥

  3. 运行rsa -in app_private_key.pem -pubout -out app_public_key.pem生成公钥

  4. 进入芝麻信用后台,将生成的公钥 去除 首行 / 尾行 / 换行符 粘贴进应用的公钥一栏

  5. 应用创建后,点击应用的芝麻公钥一栏,得到芝麻信用的公钥(原始格式)

  6. 将其整理为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
 相关资料
  • 本文向大家介绍谈谈php对接芝麻信用踩的坑,包括了谈谈php对接芝麻信用踩的坑的使用技巧和注意事项,需要的朋友参考一下 由于项目需要,接入芝麻信用对用户进行认证,打开芝麻信用官方网站( https://b.zmxy.com.cn/index.htm)查看官方demo,在文档中看到如图 瞬间觉得这个官方demo的垃圾了。 在其中有需要注意如下: 1.本地生成密钥,可以按照提示进行生成 2.在“商家管

  • 本文向大家介绍PHP 芝麻信用接入的注意事项,包括了PHP 芝麻信用接入的注意事项的使用技巧和注意事项,需要的朋友参考一下 芝麻官方下载的SDK,跑不起来,百度搜索一番也没有发现太多的文章 ,只有一个CSDN博客写的一篇文章,比较有参考价值 详细查阅文档+几天测试整理以下几点注意事项: 接入芝麻API接口,应该分2步: 第一步,获得授权,这个,官方的SDK,只要吧参数配置正确,就能操作。 注意下面

  • 本文向大家介绍Android仿支付宝上芝麻信用分雷达图,包括了Android仿支付宝上芝麻信用分雷达图的使用技巧和注意事项,需要的朋友参考一下 一、首先看下支付宝上芝麻信用分的效果图: 二、思路      1、确定雷达图中心点坐标      2、绘制多边形及连接线      3、根据维度值绘制覆盖区域      4、绘制分数      5、绘制每个维度的标题文字和图标 三、实现 获取布局的中心坐标

  • 本文向大家介绍Android自定义View仿支付宝芝麻信用分仪表盘,包括了Android自定义View仿支付宝芝麻信用分仪表盘的使用技巧和注意事项,需要的朋友参考一下 先看下iOS的芝麻信用分截图 这是我做的效果,还是有点差距的 支付宝9.9版本芝麻信用分的实现 首先初始化各种画笔,默认的size,padding,小圆点. (因为实在找不到原版芝麻信用的带点模糊效果的小圆点,所以只好用这个代替)

  • 本文向大家介绍Android自定义view之仿支付宝芝麻信用仪表盘示例,包括了Android自定义view之仿支付宝芝麻信用仪表盘示例的使用技巧和注意事项,需要的朋友参考一下 自定义view练习 仿支付宝芝麻信用的仪表盘 对比图: 首先是自定义一些属性,可自己再添加,挺基础的,上代码 接着在构造方法里初始化自定义属性和画笔: 接下来重写onMeasure,也是比较简单,对于不是确定值的直接给定30

  • 一面 1、自我介绍 2、简历项目 3、手撕代码部分出了两道题目 一道是力扣上有原题的最大的K个数,写完之后分析时空复杂度、能否继续优化 一道是牛顿法解方程,类似于浮点数开根号,使用牛顿迭代法即可 4、反问环节 HR交流 我也没太搞懂这个流程,怎么一面完就HR面了,但是也只是打电话交流一下,当时刚睡醒,HR问期望薪资,脑子一抽报的太高了。一方面期望薪资要根据对面的薪资构成来报,最好报年包,结果我第一