Articles of express

节点快递护照(JWT) – auth后callback

我有authentication工作与护照智威汤逊,但我有困难运行callback函数/响应, 只有当用户通过身份validation。 如何才能做到这一点? 在我的路线: import express from 'express'; import passport from '../../config/passport'; import memberInfoCtrl from '../controllers/memberInfo'; const router = express.Router(); router.route('/members') .get(membersCtrl.tokenCheck, passport.authenticate('jwt', { session: false }), membersCtrl.doSomethingElse); export default router; 如果authentication成功,我想要membersCtrl.doSomethingElse运行。 这是我的tokenCheckfunction: function tokenCheck(req, res, next) { const token = getToken(req.headers); if (token) { const decoded = jwt.decode(token, config.secret); User.findOne({ email: decoded.email }, (err, […]

如何确认是否为MongoDB for ReactJS + NodeJS Express创build了数据库?

我正在学习一个教程,并得到以下设置: MongoClient.connect('mongodb://localhost/newdatabase', function(err, dbConnection) { db = dbConnection; var server = app.listen(3000, function() { var port = server.address().port; console.log("Started server at port", port); }); }); 只要用数据库名称定义URL,数据库是否被创build? 或者我将不得不去terminal并手动创build它? 如何检查/newdatabase是否已经创build? 另外,我怎样才能访问浏览器的url? 为什么他们不在//localhost之后定义端口号? 谢谢!

使用中间件redirect节点js太多redirect

在我的Node.js应用程序(我使用Express 4.x)我想检查用户是否login。 如果用户没有login,我想redirect到我的login页面。 然后我在中间件中这样做: Server.js app.use(function (req, res, next) { // if user is authenticated in the session, carry on if (req.isAuthenticated()) return next(); // if they aren't redirect them to the home page res.redirect('/login'); }); login路线 // Login page app.get('/login', function(req, res){ res.render('pages/login', { error : req.flash('loginError'), info : req.flash('info'), success : req.flash('success') }); […]

无法使用res.send()使用Express与节点发送号码

我正在尝试使用expression式在节点中获得“imdb评级”,而且我正在挣扎。 movies.json [{ "id": "3962210", "order": [4.361276149749756, 1988], "fields": { "year": 2015, "title": "David and Goliath", "director": "Timothy A. Chey" }, "doc": { "_id": "3962210", "_rev": "1-ac648e016b0def40382d5d1b9ec33661", "title": "David and Goliath", "year": 2015, "rating": "PG", "runtime": "92 min", "genre": ["Drama"], "director": "Timothy A. Chey", "writer": ["Timothy A. Chey"], "cast": ["Miles Sloman", "Jerry Sokolosky", "Makenna Guyler", […]

使用Express和Mongodb维护上传的图片 – 最佳实践?

我正在开发一个servlets(Express,Mongodb),用户可以在其中将图像上传到他们的账户。 在我潜入之前,我想确保我有正确的策略来pipe理(存储,编辑,删除,加载)这些上传的图片。 我最初的想法是 使用users-id将图片上传到一个文件夹 将用户数据库模型中的目录链接保存为string 然后在前端将url-strings粘贴到img-src中 这个方法真的让我感到困惑,因为基本上需要在两个地方维护图像(更改图像名称,删除图像,添加图像…),数据库模型(url-string)和上传 – 文件夹结构(path,图像名称)。 使用一组辅助函数可能会使这个变得更容易。 但是,还有,用Mongodb和Expresspipe理图像的更优雅的方法是什么? 这里有最佳做法吗?

铸造到数组失败与moongoose和字典

我有一个问题,在MongoDB中插入数据与mongoose 这是我的db.js模型: var Appointment = new Schema({ date: Date, coach: ObjectId, complement: String, isOwner: Boolean, fiter : ObjectId, fiters: [ { user: ObjectId, isOwner: Boolean, status: String, invitationDate: Date } ], place: ObjectId, objectif : ObjectId, pricing: Number, status: String, ratings: [ { date: Date, user: ObjectId, score: Number, comment: String, target: ObjectId, targetType: String […]

Ajax POST请求发送undefined到Express

我试图发送一些数据来parsing。 客户端的脚本如下: function addURL(link) { console.log("Adding url…"); $.ajax({ type: "POST", url: location.protocol + "//" + location.host + "/shorturl/create", crossDomain: true, contentType: "application/json", data: JSON.stringify({url:link}), success: function(data){ $("#shortenedURL").html(data.shortenedURL); }, error: function(err){ console.log("Ran into an error… " + err); } }); } 在我的快递应用上,在其中一台路由器上,我有: router.post("/create", function(req, res){ console.log(req.body); console.log(req.body.url); var url = req.body.url; } 我得到“未定义”,然后“无法获取属性”URL“未定义”。 我不知道我要去哪里错了…

表示app.get('/ *')和api CORs问题

你能告诉我如何让我的JSON API? server.js app.get('/*', function(req, res) { res.sendFile(path.join(__dirname, 'public', 'index.html')); }) app.get('/api', function(req, res) { res.header() res.json({'message' : 'hi this is my json obj'}); }) App.js class App extends React.Component { componentDidMount() { // let foo; axios.get('http://localhost:3000/api') .then(res => { console.log(res.data); res.data.message; }) .catch(err => { console.log(err); }) } 出于某种原因,就像我可以得到反应路由器访问本地主机:3000 /仪表板很好,通过inputurl字段。 它是不断返回的HTMLstring。 我可以改变什么,以便我可以接收json对象而不是htmlstring?

Node.JSvalidationGoogle身份validation令牌

我正在尝试使用Express.JS框架构build一个Node.JS REST服务器,该框架集成了用于移动应用程序的Google身份validation。 使用的Node.JS版本是0.12.7。 validation从应用程序接收到的Google令牌时出现问题,因为看起来我尝试加载的模块返回错误。 用于validation此令牌的模块是passport-google-token [1]。 用于初始化此模块并检查令牌的代码如下所示: index.js文件 'use strict'; import express from 'express'; import passport from 'passport'; import {setTokenCookie} from '../../auth.service'; var router = express.Router(); router .post('/callback', passport.authenticate('google-token'), setTokenCookie); export default router; passport.js文件 import passport from 'passport'; import GoogleTokenStrategy from 'passport-google-token'; export function setup(User, config) { passport.use(new GoogleTokenStrategy({ clientID: config.google.clientID, clientSecret: config.google.clientSecret }, function(accessToken, […]

Express js使用来自mongodb的值到查询外部

我是新的快速js和节点js。 我想知道是否可以做到这一点。 第一件事我试图得到1查询计数。 第二我查询收集login。 循环并格式化并使用ID获取名称值。 在count1上我得到了undefined,我发现它在json响应中被忽略。 如何将查询返回到查询之外? router.post('/logmein', function(req, res, next) { var email = req.param('email'); var password = req.param('password'); var count1; MongoClient.connect(MongoUrl, function(err, db) { if (err) return; db.collection('users').count({email: email,password: md5(password)}, function(err, count) { count1 = count; }); db.collection('login').find({email: email,password: md5(password)}).toArray(function(err, results){ console.log(results); // output all records }); //use results /* foreach each results […]