Tag: node.js

使JSON Web令牌无效

对于我正在研究的一个新的node.js项目,我正考虑从基于cookie的会话方法切换(我的意思是将id存储到包含用户浏览器中的用户会话的键值存储)到使用JSON Web Tokens(jwt)的基于令牌的会话方法(无键值存储)。 该项目是一个利用socket.io的游戏 – 在一个会话中会有多个通信通道(web和socket.io)的情况下,基于令牌的会话将非常有用。 如何使用jwt方法从服务器提供令牌/会话失效? 我也想了解我应该用这种模式去寻找哪些常见(或不常见)的陷阱/攻击。 例如,如果这种模式容易受到与基于会话存储/ cookie的方法相同/不同types的攻击的影响。 所以,说我有以下(改编自这个和这个 ): 会话存储login: app.get('/login', function(request, response) { var user = {username: request.body.username, password: request.body.password }; // Validate somehow validate(user, function(isValid, profile) { // Create session token var token= createSessionToken(); // Add to a key-value database KeyValueStore.add({token: {userid: profile.id, expiresInMinutes: 60}}); // The client should save […]

我如何运行一个Node.js应用程序作为自己的进程?

什么是最好的方式来部署Node.js? 我有一个Dreamhost VPS(这就是他们所说的虚拟机 ),我已经能够安装Node.js并设置代理。 只要保持打开的节点处于打开状态的SSH连接,就可以工作。

Node.js和CPU密集型的请求

我已经开始修补Node.js的HTTP服务器,真的很喜欢写服务器端的JavaScript,但有些东西让我无法使用Node.js为我的Web应用程序。 我了解整个asynchronousI / O概念,但是我对程序代码非常耗费CPU的边缘情况(如image processing或sorting大型数据集)感到有些担忧。 据我所知,服务器将非常快速的简单的网页请求,如查看用户列表或查看博客文章。 但是,如果我想编写非常CPU密集的代码(例如pipe理员后端)来生成graphics或调整成千上万的图像,请求将非常缓慢(几秒钟)。 由于这段代码不是asynchronous的,所以在这几秒钟内到达服务器的每个请求将被阻塞,直到我的请求缓慢完成。 一个build议是使用Web Workers进行CPU密集型任务。 但是,恐怕networking工作者会因为包含一个单独的JS文件而难以编写干净的代码。 如果CPU密集型代码位于对象的方法中,该怎么办? 对于CPU密集型的每种方法来说,写一个JS文件是非常糟糕的。 另一个build议是产生一个subprocess,但是这使得代码更加不可维护。 任何build议来克服这个(知觉)的障碍? 如何在确保CPU繁重任务执行asynchronous的同时,如何使用Node.js编写干净的面向对象的代码?

从module.exports中的另一个函数调用module.exports中的“本地”函数?

如何从module.exports声明的另一个函数中调用函数? 这里有一些简化的代码。 在我的app.js中,我执行以下操作: var bla = require('./bla.js'); console.log(bla.bar()); 而bla.js里面是 module.exports = { foo: function (req, res, next) { return ('foo'); }, bar: function(req, res, next) { this.foo(); } } 我试图从functionbar访问函数foo ,我得到: TypeError: Object # has no method 'foo' 如果我改变this.foo()只是foo()我得到: ReferenceError: foo is not defined

Nodejs npm显示模块的最新版本

如何使用npm显示模块的最新版本? 我期待像npm –lastest express打印出v3.0.0 。

如何更改node.js的控制台字体颜色?

由于眼睛问题,我必须将控制台背景颜色更改为白色,但字体是灰色的,并且使消息不可读。 我怎样才能改变它?

我可以用CoffeeScript代替JS用于node.js吗?

如果我想要编写node.js并使用CoffeeScript,那么我的限制是什么? 我可以做任何我能在JS中做的事情吗?

如何使用npm重新安装应用程序的依赖关系?

有没有简单的方法来重新安装我的应用程序依赖的所有包(即他们在我的应用程序node_modules文件夹)?

AngularJS仅适用于单页面应用程序(SPA)吗?

我们正在考虑select构build我们正在创build的应用程序的前端,并试图评估一个能够为我们工作的工具,并为我们提供最好的平台。 这是一个Node.js项目。 我们最初的计划是使用Express并沿着这条路线走下去,但是我们决定,在我们开始这个阶段之前,最好查看一下那里的东西。 我们的应用程序有几个方面,我们不相信适合单页模型,因为它们是从应用程序的angular度来看,而不是从一个angular度来看。 我们已经看到了一些我们可以用来构build客户端的框架,比如Backbone.js , Meteor等,还有AngularJS。 这可能是一个相当明显的问题,但是如果AngularJS纯粹用于单页面应用程序,或者它可以用于像Express这样的多页面应用程序,我们似乎无法破译。 更新2013年7月17日为了让人们保持循环,我将在更新过程中更新这个问题。 我们现在要一起构build所有的东西,我们将看到它的performance如何。 我们已经接触到了一些比AngularJS更有资格的人,并且提出了关于分享大环境的大型应用程序的问题,但是可能在单个页面上工作太大。 我们的共识是我们可以提供多个静态页面,并创build仅与这些页面一起工作的AngularJS应用程序,从而有效地创build一个SPA集合,并使用标准链接将这些应用程序链接在一起。 现在我们的用例是非常具体的,因为我们的解决scheme有几个应用程序,正如我所说的,我们将首先尝试单个代码库并从那里进行优化。 更新date:2016年6月18日项目濒临悬崖,所以我们从来没有完成太多的工作。 我们最近再次拿起它,但不再使用angular度,而是使用React。 我们仍然使用上一个更新中概述的架构,我们使用express和self包含应用程序,例如,我们有一个express的快速路由服务器,用于提供我们的React聊天应用程序,另外还有另外一个服务器项目应用程序等。 我们有点看它的方式是每个应用程序都是根据其function集合的集合根,它需要能够独立的被认为是一个应用程序本身。 从技术上讲,所有的信息都在那里,它只是基本的expression和你想要使用的客户端应用程序构build善良的任何风格。

如何使用node.js实现安全的REST API

我开始用node.js,express和mongodb来规划一个REST API。 该API提供了一个网站(公共和私人领域)的数据,也许以后是一个移动应用程序。 前端将与AngularJS一起开发。 有几天我读了很多关于保护REST API的内容,但是我没有得到最终的解决scheme。 据我所知是使用HTTPS来提供基本的安全性。 但是我怎么能保护这个用例中的API: 只有网站/应用程序的访问者/用户才能获取网站/应用程序的公共区域的数据 只有经过身份validation和授权的用户才能获取私有区域的数据(并且只有用户授予权限的数据) 目前我想只允许有活动会话的用户使用API​​。 为了授权用户,我将使用护照并获得许可,我需要为自己实施一些东西。 全部位于HTTPS的顶部。 有人可以提供一些最佳实践或经验吗? 我的“架构”是否缺乏?