为并行请求生成 oAuth 随机数

2023-12-11

我正在并行请求 Bitstamp API:

// Simplified version

var async = require('async');
var bitstamp = require('bitstamp');

async.parallel([
    bitstamp.balance,
    bitstamp.ticker
    // ...
],
function() (err, result) {
    // process results
});

这两种方法向 Bitstamp API 发送签名请求,包括nonce.

Nonce 是一个常规整数。它必须随着您提出的每一个请求而增加。在这里阅读更多相关信息。示例:如果您在第一个请求中将随机数设置为 1,则必须在第二个请求中将其至少设置为 2。您不需要从 1 开始。常见的做法是使用 unix 时间作为该参数。

底层库传统方式生成nonce:

var nonce = new Date().getTime() + '' + new Date().getMilliseconds();

Problem

由于异步 API 调用,有时随机数会在同一毫秒内生成,而远程端希望它们增加。

Question

保持并行请求,有可靠地生成顺序随机数的想法吗?

我明显的尝试是:

this.nonce = new Date().getTime() + '' + new Date().getMilliseconds(); 
// ... on request
var nonce = this.nonce++;

但这并没有解决问题,同样的毫秒只是增加了一,但仍然相等。


(这里是 npm 模块的作者)

我通过在毫秒时间戳的末尾添加自己的计数器来解决这个问题。现在支持每毫秒最多 999 次调用因为这个功能。第一次它会生成类似的东西1409074885767000如果您在同一毫秒内需要一个新的随机数,它将生成1409074885767001, 1409074885767002, ...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为并行请求生成 oAuth 随机数 的相关文章

  • Nodejs 的简单 put 请求,无需 Express

    我需要能够将 zip 文件上传到 Brightsign 单元 并考虑创建一个 Rest api 我可以发出 put 请求来发送 zip 文件 但问题是我找到的所有例子都是使用express之类的框架 是否可以在不使用额外框架的情况下在 No
  • 使用 sudo 从 Node.js 运行命令

    作为 Node js 新手 我有这个问题 我看到在一些地方提到节点不应该以 root 身份运行 例如this http syskall com dont run node dot js as root 我只是使用节点来设置simpleWeb
  • 如何使 Puppeteer 在客户端与 ReactJS 应用程序一起工作

    我对 React 相当陌生 我正在开发一个应用程序 它将拍摄网页的实际屏幕截图 并且该应用程序可以在所拍摄的屏幕截图上绘制和添加涂鸦 我最初使用 html2canvas 和 domToImage 来获取客户端屏幕截图 但它不会完全按照网页中
  • Knex 与 PostgreSQL 选择查询在多个并行请求上性能极度下降

    In brief 我正在开发一个 梦想中的 游戏 我的后端堆栈是 Node js 和带有 Knex 的 PostgreSQL 9 6 我在这里保存所有玩家数据 我需要经常请求它 其中一个请求需要进行 10 个简单的选择来提取数据 这就是问题
  • 简单的node js应用程序

    我正在尝试制作一个简单的表单 其中包含用户名和姓氏 当用户提交信息时 会显示另一个页面 我用 html 做了一个表单 但我不知道下一步该怎么做 有没有人有一个小型的 独立的表单示例 使用node js 这个例子并没有完全完成你的任务 但它是
  • Express + EJS - 将参数传递给 EJS 视图

    我对 Node js Express EJS 相当陌生 我最近注意到 当我将参数从 Express 请求处理程序传递到 EJS 视图并省略参数名称时 它会根据变量名称创建一个名称 例如 在下面的代码中 server js var expre
  • 如何将缓冲区包装为stream2可读流?

    如何使用stream2接口将node js缓冲区转换为可读流 我已经找到了这个answer https stackoverflow com questions 13230487 converting a buffer into a read
  • 在express中设置静态javascript文件的内容类型

    我在用express使用 es6 模块提供带有 js 文件的页面 关于 es6 模块 https jakearchibald com 2017 es modules in browsers https jakearchibald com 2
  • 如何在没有到期时间的情况下使 JWT 令牌失效

    正在使用 JWT 创建一个 Node js 后端应用程序 对我来说 要求很简单 授权令牌不应该有任何到期时间 但是当用户更改密码时 我在使 JWT 失效期间遇到问题 当用户更改密码时 我将创建一个新的 JWT 令牌 并删除旧的令牌 但用户仍
  • 在nodejs中从服务器下载.zip文件

    我正在使用 MEAN 其中我想允许用户从服务器下载 zip 文件 所以基本上我必须做以下事情 从某些数据创建 csv 文件 将该文件存储到某个目录中 将这些文件压缩为 zip 当用户单击该按钮时 应该下载并读取压缩文件 我已经完全达到了1
  • Grunt:自定义任务开发指南

    我需要实现一个自定义的 Grunt 任务 但我完全不知道开发工作流程 如何开发自定义任务并在开发过程中使用 npm 模拟加载它 除了使用之外 还有其他分配自定义任务的方法吗 npm 我的意思是 我可以分发一个定义整个自定义 Grunt 任务
  • 部署到 azure 网站时如何 npm 配置选项(例如 --scripts-prepend-node-path)?

    部署到 azure 网站时 我在 package json 中使用了以下内容 name mypackage engines node 6 11 1 npm 4 2 0 一切正常 但我也收到以下警告 npm WARN 生命周期 用于脚本的节点
  • YouTube api 的永久访问令牌?

    我已经浏览了用于身份验证的 Oauth 和 AuthSub 方法的 google 文档 并且我尝试通过 google 搜索此内容 但没有结果 对于 Facebook 您可以请求长度为 的访问令牌lifetime 这意味着您不必每隔几周就请求
  • Puppeteer - 错误:协议错误 (Network.getResponseBody):找不到具有给定标识符的资源

    我正在尝试使用此代码使用 puppeteer 从网站获取响应正文 usr bin env node require dotenv config const puppeteer require puppeteer const readline
  • Node.js:301 重定向非 www,不带 Express

    对于现有项目 我只想做一个简单的更改 将 www mysite com 重定向到 mysite com 因为 cookie 问题 非 www 版本无法访问 www 上的 cookie 我不想包括快递 我该如何做这个简单的改变 我认为这就是您
  • Doctrine2:类型 x 已经存在

    我对 Doctrine API 有疑问 我想添加一个新的学说类型 我按照本文档创建了该类 并且已在自定义驱动程序中添加了该类型 Type addType custom Namespace NameBundle Types CustomTyp
  • 使用 mongoDB 重命名集合

    我无法重命名 mongoDB 中的集合 我可以看到它存在并且可以从中写入和读取数据 我已尝试使用节点 mongo 本机驱动程序进行以下操作 db collection mycollection renameCollection mynewc
  • 从队列 ID 获取 Jenkins 作业构建 ID

    我成功地使用它来启动 Jenkins 作业 curl X POST http jenkins srv 8080 job MY JOB buildwithParameters this 1 that 2 user name pass 我还可以
  • 如何在cj api中根据类别检索产品目录?

    我正在使用 CJ API 我们需要根据类别检索所有产品目录 任何人使用过此类概念请与我分享 更新答案我编写的一个小脚本 用于在 Commission Junction 测试 REST API PHP代码
  • Promise链基本问题

    我正在尝试理解 Promise 我创建了一些有效的承诺链 而另一些则无效 我已经取得了进步 但显然缺乏基本概念 例如 以下承诺链不起作用 这是一个愚蠢的例子 但说明了问题 我正在尝试在链中使用 Node 的函数 randomBytes 两次

随机推荐