Tag: http token authentication

从完全形成的响应中触发大文件下载

问题 我有一个Node.js端点,当使用以下命令访问时,可以正确触发一个任意大的文件下载: response.setHeader('Content-disposition', 'attachment; filename=' + fileName); response.set('Content-Type', 'text/csv'); response.status(200); result.pipe(response); 其中result是变换stream , response是Express对象 。 当直接访问Chrome,Firefox,Internet Explorer等的terminal时,这种方式可以正常工作。当启用基于令牌的身份validation时,尝试达到终点时会出现问题。 从用户的angular度来看,当他们点击一个button时,文件被下载。 如何使该button在请求标题中find正确的身份validation令牌并导致文件被下载? 一些可能的方法集体讨论 当用户点击button时,它会触发一个由redux-api-middleware处理的动作,这会使GET请求到达终点(authentication令牌自动包含在请求中)。 该中间件将响应保存在由React组件拾取的variables中。 在这个React组件中,如果使用的浏览器(即Chrome和Opera)支持stream, response.body将会存在,所以你可以做如下的事情。 if (response.body) { const csvReader = response.body.getReader(); const textDecoder = new TextDecoder(); const processCsvRow = (csvRow) => { if (csvRow.done) { console.log('Finished downloading file.'); return Promise.resolve(); } // Write to new […]

用sails.js实现passport-http-bearer标记

我正在尝试实施护照的passport-http-bearer战略,但它发现没有用户信息Bearer realm="Users" 。 我的request是一个post请求: {'token':'simple_access_token',} 任何人有任何想法,为什么会出现这个错误? 另外我知道这里req应该是https或ssl而不是http 。 我怎么做? 我使用的代码是: bearerPassportToken: function(req,res){ passport.authenticate('bearer', function(err, user, info){ if ((err) || (!user)) { if (err) return; if (!user) console.log("info);//Info: Bearer realm="Users" res.redirect('/login'); return; } req.logIn(user, function(err){ if (err){ res.redirect('/login'); } //Need to write code for redirection ; }); })(req, res); },