Tag: express

Express在更改auth头时会创build不同的会话

我是新来expression,我试图创build会话时,用户login到我的应用程序。我正在使用护照进行身份validation。 要login用户,我正在创build基本策略和成功的基本策略我正在创build一个JWT令牌,我在客户端存储在cookie中,我使用JWT战略为随后的请求。 但我注意到,快速会话正在创build一个会话,当我login其中有基本标题和另一个会话为JWT标题的后续调用。 这里是我的代码,我login保存会话 signin = function(req, res, next) { passport.authenticate('basic', function(err, user, info) { if (err) { return next(err) } if (!user) { return res.status(401).json({ error: 'message' }); } var token = jwt.encode({ user: user}, config.db.secret); res.cookie('token', token, { maxAge: 900000, httpOnly: true, path: '\/', Secure: true }); res.status(200).json({ success: true, firstName: user.firstName }); […]

NodeJS Ajax请求失败

我有一个表单,我试图从客户端提交到Express,但每次我得到一个错误,如: 无法POST / request_method 下面是我正在尝试的代码: 的index.html <form id="wizard-content" method="post"> <label>File</label> <input type="file" name="some" id="rsome"> <label>Value</label> <input type="text" name="valSome" id="perfect"> </form> <button type="submit" id="submit_form">Finish</button> <script type="text/javascript"> jQuery('#submit_form').click(function() { if (jQuery(this).text().toLowerCase() === "finish") { submitForm(); } }); var submitForm = function(){ var formData = { 'perfect' : $('#perfect').val(), 'rsome' : $('#rsome')[0].files[0] }; if(formData){ $.ajax({ url : '/request_method', […]

NodeJS在foreach循环中运行一个promise-mysql查询,每次都等待结果

我想查询一个MySQL数据库两次,第二次,每次结果从第一次多次,但我无法解决如何等待第二个查询的结果,然后再继续 admin.get('/', function (req, res) { mysqlQ("SELECT I.ID as ID, C.ID AS CID, I.PD AS PostDate, C.Name AS CatName, U.UserName AS UserName, I.Title AS Title, I.Post AS PostData FROM categories AS C JOIN INAT AS I ON C.ID = I.Category JOIN Users AS U on U.ID = I.User").then(function (INAT) { INAT.forEach(function (team) { team.time = […]

ReferenceError:在Ajax调用尝试redirect用户之后没有定义窗口

我是新来的EJSexpression。 我试着做一个Ajax的后请求提交给数据库使用的值。 $.ajax({ type: 'POST', url: '/register', data: user, success: function(data){ console.log(data); return data; } }); return false; 这个调用是成功的,然后控制转到调用函数 var sess; app.post('/register',urlencodedParser,function(req,res){ sess=req.session; var newUsr=Users(req.body).save(function(err,data){ if(err) throw err; console.log(" back from ajax with data :::; " + data); console.log("step1 cleared"); sess.registered=true; }); console.log("step2 cleared"); location.window.href = '/index2'; }); 我希望用户在注册成功后能看到索引页,但是我得到了下面的错误。 ReferenceError: location is not defined 我觉得位置对象是不是在节点,因此这个错误,但我不知道如何解决这个问题,请build议

如何解决Azure中的500.1002错误?

成功构build我们的应用程序后,我们有500.1001或500.1002错误。 我们尝试将我们的应用程序捆绑到root和public – error 500.我们尝试更正iisnode.yml参数(maxNamedPipeConnectionRetry和namedPipeConnectionRetryDelay)。 我们的应用程序始终在服务器上 <?xml version="1.0" encoding="utf-8"?> <webSocket enabled="false" /> <handlers> <add name="iisnode" path="/public/server.bundle.js" verb="*" modules="iisnode"/> </handlers> <rewrite> <rules> <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"> <match url="^server.bundle.js\/debug[\/]?" /> </rule> <rule name="StaticContent"> <action type="Rewrite" url="public{REQUEST_URI}"/> </rule> <rule name="DynamicContent"> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/> </conditions> <action type="Rewrite" url="/public/server.bundle.js"/> </rule> </rules> </rewrite> <security> <requestFiltering> <hiddenSegments> <remove segment="bin"/> </hiddenSegments> […]

用我的本地数据库连接我的应用程序(node,express,mongo)并查询它

我用node.js,express.js,passport.js和mongodb构build一个小应用程序。 我是这个技术的新手,所以我试图在上传代码到服务器上之前先在本地进行testing,然后连接到mongolab。 现在我的问题是,我无法用我的mongo shell在本地查看或查询所有用户,因此,每次添加用户时,我都无法看到是否真的添加了它。 到目前为止我的代码如下: app.js var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var port = process.env.PORT || 3000; var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var mongoose = require('mongoose'); var flash = require('connect-flash'); var session = […]

Azure AD – 检查安全组成员资格 – (Node.js,护照,Azure Web App)

我们正试图build立一个authentication/授权过程,具有以下要求: 身份validation:由Azure AD完成。 授权:只有特定安全组的成员应该被允许访问该应用程序。 虽然validation部分似乎没有问题,我们被困在授权部分。 我们正在使用快递和护照。 Azure AD一些令牌请求req.headers ,例如 X-MS-令牌AAD-访问令牌 X-MS-令牌AAD刷新令牌 X-MS-令牌AAD-ID令牌 目前,我们正在使用id-token和passport-azure-ad BearerStrategy来检查用户的安全组是否符合允许的安全组。 问题是:一旦id令牌过期,应用程序不会让我们访问应用程序。 假设在护照中设置{session: true}可以解决这个问题,我们启用了会话,但没有运气。 做了一些更多的研究,我发现这篇文章: 如何在Web应用程序中从Azure AD刷新ID令牌? ,它表示只有访问令牌可以被刷新,但ID令牌不能也不应该。 检查x-ms-token-aad-access-token和x-ms-token-aad-refresh-token ,我们发现它们没有JWT结构,例如 eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1THdqcHdBSk9NOW4tQSJ9.eyJhdWQiOiJodHRwczovL.JZw8jC0gptZxVC-7l5sFkdnJgP3_tRjeQEPgUn28XctVe3QqmheLZw7QVZDPCyGycDWBaqy7FLpSekET_BftDkewRhyHk9FW_KeEz0ch2c3i08NGNDbr6XYGVayNuSesYk5Aw_p3ICRlUV1bqEwk-Jkzs9EEkQg4hbefqJS6yS1HoV_2EsEhpd_wCQpxK89WPs3hLYZETRJtG5kvCCEOvSHXmDE6eTHGTnEgsIk–UlPe275Dvou4gEAwLofhLDQbMSjnlV5VLsjimNBVcSRFShoxmQwBJR_b2011Y5IuD6St5zPnzruBbZYkGNurQK63TJPWmRd3mbJsGM0mf3CUQ 他们不包含任何点,因此没有通过智威汤逊validation。 导致以下问题: 根据指定的允许安全组检查用户安全组的正确方法是什么?

如何用reactjs生成nodejsexpression式的应用程序

我在我的应用程序中使用reactjs作为前端技术。 我需要使用nodejs作为服务器端编程。 我安装了reactjs应用程序,它已经生成了项目结构和package.json,然后我安装了express ,npm本身已经将它添加到package.json 我在我的应用程序中为服务器端代码创build了server目录。 这是我的目录和package.json { "name": "rock-paper-scissors-app", "version": "0.1.0", "private": true, "dependencies": { "express": "^4.15.3", "react": "^15.6.1", "react-dom": "^15.6.1" }, "devDependencies": { "react-scripts": "1.0.7" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test –env=jsdom", "eject": "react-scripts eject" } } 项目结构: 到目前为止,一切都很好。 现在我想要生成node-js express应用程序https://github.com/expressjs/express ,它不应该覆盖我现有的package.json $ express? 任何人都可以帮助它的方法是什么? 还是我做错了什么?

节点(Express) – 通过api以快递方式发送pdf

我有一个API,为我在网站上的每笔付款生成发票。 另一方面,我有一个服务器来pipe理客户端。 客户要求时我需要取pdf。 我使用node / express和axios来pipe理http调用。 我设法使用以下代码从api发送pdf: function retrieveOneInvoice(req, res, next) { Order .findOne({_id: req.params.id, user: req.user.id}) .exec((err, order) => { if(err) { } else if (!order) { res.status(404).json({success: false, message: 'Order not found!'}); } else { const filename = order.invoice.path; let filepath = path.join(__dirname, '../../../invoices' ,filename); fs.readFile(filepath, function (err, data){ res.contentType("application/pdf"); res.end(data, 'binary'); }); […]

API网关+ lambda上的http / 2

有没有可能运行http / 2与aws-serverless-express推? 据我所知,aws API网关支持http / 2(通过https://tools.keycdn.com/http2-test进行validation)。 Unfornately我找不到在lambda上部署的node.js应用程序下的任何http / 2压入示例。 我发现的唯一例子是支持http / 2的node.js应用程序: https : //github.com/azat-co/http2-node-server-push 有小费吗? 解决scheme? 这甚至有可能吗?