Tag: 表示

未处理的拒绝TypeError:dbUser.validPassword不是函数Sequelize Node React Passport

我正在尝试在我的web应用程序上使用Passport身份validation。 我使用Sequelize ORM,Reactjs前端和expression式和节点后端。 现在,当我注册一个用户一切正常。 当我尝试login时出现问题。 我看到用户查询数据库find用户正确的电子邮件,但是当是时候比较密码,我抓到一个错误。 “未处理的拒绝types错误:dbUser.validPassword不是函数” 这里是我的config / passport.js文件: var passport = require("passport"); var LocalStrategy = require("passport-local").Strategy; var db = require("../models"); // Telling passport we want to use a Local Strategy. In other words, we want login with a username/email and password passport.use(new LocalStrategy( // Our user will sign in using an email, rather […]

具有高速路由错误的Typescript / node API

我遇到了一个非常奇怪的错误,我从外部文件导入我的路由器,并将其添加为路由,但我得到这个相当奇怪的错误,string似乎被加倍引号包围。

如何在运行python代码和nodejs之间进行通信

我想有一些Python代码正在运行,并与一个nodejs express服务器通信。 到目前为止,我可以通过以下两种机制之一让我的nodejs服务器调用python函数:产生一个python任务,或者让它与一个zerorpc python服务器通信。 首先,这个工作是有效的: http : var express = require( "express" ); var http = require( "http" ); var app = express(); var server = http.createServer( app ).listen( 3000 ); var io = require( "socket.io" )( server ); app.use( express.static( "./public" ) ); io.on( "connection", function( socket ) { // Repeat interval is in […]

在用户访问404页面时,在静态资源的快速链接中断

我使用快速创build一个简单的应用程序。 我编写了我的模板使用看起来像这样的句柄: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" lang="english"> <title>{{ title }} </title> </head> <body> {{{body}}} <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> <script src="js/my.js"></script> </body> </html> 问题是,如果用户访问404页面,则链接到站点中的每个静态资产。 我find的唯一的解决scheme是硬链接到这样的静态文件的链接: <script src="http://localhost:3000/js/my.js"></script> 显然,这不是推荐的方法。 你们如何解决这个问题? 我来自Django的背景,它确实提供了一个连贯和简单的方法来链接静态内容。 我们有类似的快递(或车把)。 谢谢

Node.js使用Token ExpressJs进行身份validation

我正在尝试为我的服务器创build一个login请求。 我想学习的是如何创build一个令牌,当用户login。创build一个令牌后,我想用该令牌来控制用户的请求。 这是我的代码的例子。 请告诉我我哪里错了。 如果一切都是真的,你能向我解释如何创build它吗? var port = 8080; var express = require("express"); var bodyParser = require('body-parser'); var mysql = require('mysql'); var bcrypt = require('bcrypt'); var session = require('express-session'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "123456", database: "circles", debug: false }); process.on('uncaughtException', function (err) { console.log('UNCAUGHT', err.stack); }); var app = express(); […]

节点+快递+护照:req.user未定义,但在邮递员的作品

我的问题类似于这个,所有的答案没有帮助我。 我使用Passport.js本地策略(护照本地mongoose)。 下面的中间件工作在Postman上,但是每当我从我的React客户端尝试时都会失败。 exports.isLoggedIn = (req, res, next) => { console.log(req.user) // undefined with react, but works from postman if (req.isAuthenticated()) { return next(); } } 这是我的app.js: require('./handlers/passport'); app.use(cors()) app.use(session({ secret: process.env.SECRET, key: process.env.KEY, resave: true, saveUninitialized: true, store: new MongoStore({ mongooseConnection: mongoose.connection }) })); app.use(passport.initialize()); app.use(passport.session()); 处理器/ passport.js: const passport = require('passport'); const mongoose […]

沙发上多个组织的最佳实践

所以我有一个节点表示应用程序使用nano与couchdb作为后端,这是运行良好。 我现在正在研究如何将其扩展到多个组织。 因此,例如,为每个客户提供https://customername.myapp.com的通配DNSlogging。 然后,我将检查主数据库中的req.headers.host,并检查每个请求中的会话cookie等。 尽pipe如此,我正在努力争取我的头脑,后端将如何工作。 我想我明白,正确的方法是为每个组织使用数据库,并从模板数据库复制devise。 但如果这是正确的,我不明白这是如何转换为我的代码使用纳米。 我目前使用这个: var dbname = 'customer1'; var nano = require('nano')(config.dbhost); var couch = nano.db.use(dbname); 然后在我的function: couch.get(somevalue, function(err, body) { // do stuff }); 但是,当数据库本身是一个variables时,这是行不通的。 我应该把查询移动到一个较低的水平,例如nano.get('dbname',查询…或其他? 编辑 希望有人可以给我一个例子,说明如何使用中间件来改变依赖于主机头的数据库名称。 我到目前为止: app.use(function(req,res,next) { var couch = nano.db.use(req.header.host); next(); }); 但我不明白如何通过沙发对象(“沙发”在我的路由的其余部分是未知的)。 我已经尝试在“下一个(沙发)”传递回来,但是这打破了它…

RxJs – 当有可变数量的请求时,如何实现并行HTTP请求

我正在使用Express开发一个Node.js API,使用node-rest-client模块发出http请求。 其中一个开发的API端点是/api/v1/users/:userId ,它返回用户的全部信息,用户信息以及他所属部门的详细信息。 为了得到这个信息,有这个后端REST服务: /users/:userId – 返回带有用户信息和部门ID列表的JSON对象,例如: { "name" : "xxx", "departments" : [1, 5 ,6, 8] } /departments/:departmentId – 具有部门信息的JSON对象 { "id" : x, "name" : "xxx" } 调用/api/v1/users/1需要调用 GET /user/1 – > { "name" : "user1" , "departments" : [1, ,5 ,7 ,8]} 获取部门ID并对/departments/deparmentId进行n次调用 完成所有调用后,编写完整的JSON响应并将其返回。 我想使用RxJs将请求alignment,所以我想用Rx.Observable.zip()就足够了。 重点是,如果我有一个Observable数组,它的大小不固定,表示每个HTTP请求调用,我怎样才能调用Observable.zip() ? 如果在固定的数组中的元素的数量我会这样做: var observables = […]

在客户端使用express显示图像的string表示

即时通讯在一个express应用程序中使用jsftp服务的FTP连接,这是工作正常的图像的string表示forms。 但是,将图像发送到客户端时不显示图像: router.get('/', (req, res, next) => { let str = '' ftp.get('/uploads/test.png', function (err, socket) { if (err) return socket.on('data', function (d) { str += d.toString() }) socket.on('close', function (hadErr) { if (hadErr) { console.error('There was an error retrieving the file.') } res.writeHead(200, { 'Content-Type': 'image/png' }) res.end(str, 'binary') }) socket.resume() }) }) 任何帮助表示赞赏,谢谢!

快速路由处理的pipe理员和pipe理员/ *具有相同的路线

我所有的pipe理员/任何url呈现pipe理文件,但当我试图打只是pipe理它显示404不走在这条路线。 我可以创build单独的路线只是url/pipe理,但是他们的任何其他选项。 所以我只能通过一条路线pipe理。 app.get('/admin/*', function (req, res, next) { res.render('admin'); });