Tag: 基本authentication

同构应用程序中的用户configuration文件

我目前正在使用React,Redux,Express和Node来添加login,以及一系列与login相关的高级function。 对于实际的login,我使用Passport,使用Facebook,Google和Twitter策略。 获取所需的令牌后,会将其发送到AWS Cognito联合身份标识以获取用户的同步数据。 来自网站的数据也会在需要时同步回Cognito。 在用户login后,我可以在Node服务器上构build一个完整的用户configuration文件,但是现在呢? // server.jsx // imports …………. // variables …………. var userProfile; // logging the user with Passport and adding it to the profile …………. app.use((req, res) => { // I can do whatever I want with the profile here …………. // handling the request and creating an initial state .. […]

“错误:非法参数:string,未定义”,并在节点JS中停止服务器

我试图在节点JS中构build日志应用程序。 在这里密码authentication的应用程序不能正常工作。 当我input用户名和密码时出现以下错误并停止服务器。 this is the error. 这是validation部分的代码 passport.use(new LocalStrategy( function(username, password, done) { User.getUserByUsername(username, function(err, user){ if(err) throw err; if (!user) { return done(null, false, {message: 'Unknown user'}); } User.comparePassword(password, user.password, function(err, isMatch){ if(err) throw err; if (isMatch) { return done(null, user); } else { return done(null, false, {message: 'Invalid password'}); } }); }); […]

Passport JS无法检索用户

以下是我在护照​​JS的注册策略。 大部分的代码运行正常,直到在res.send用户参数的底部,在passport.authenticate方法成功validation策略之后发送用户参数。 然而,无论何时我发回回应,我都会收到一个带有“假”消息的页面。 而不是发送给我的用户的详细信息,我发送“虚假”,而不是。 app.use(passport.initialize()); app.use(passport.session()); passport.serializeUser(function(user, done) { return done(null, user.id); }); passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { done(err, user); }); }); passport.use("registerUser", new LocalStrategy({ passReqToCallback: true }, function(req, username, password, done) { var newUser = new User({ name: username, email: req.body.email, password: password }); newUser.save(function(err) { if (err) { return done(err); } […]

带有Connect基本身份validation的Expressj不会设置请求用户

我正在使用express并通过连接中间件添加基本身份validation。 我正在尝试使用asynchronous版本,并声称使用asynchronous版本调用时,将在请求对象上设置user属性。 如果我打电话给正确的fn(err, obj); 与一个对象,然后基本身份validation传递和移动到我的路线,但我希望req.user设置时,它到达我的路线。 这里是关于基本身份validation的连接文档。 我是不是正确地调用callback? app.use(express.basicAuth(function(user, pass, fn){ db.getUserByEmail(user, function(err, obj){ if (err) sendError(500, req, 'error', err); else if (obj == null) fn(err, obj); else if (obj.password == pass) fn(null, obj); else fn(null, null); }); }));

通过Node.js项目存储通用authentication详细信息的强大方法是什么?

目前,我有几个单独的Node.js项目公开各种REST API。 他们都连接到一个通用的身份validation源,并使用相同的用户名和密码。 目前,我已经存储在JavaScript源代码中。 在生产环境中做到这一点的正确方法是什么?

基于REST / Web的身份validation即服务的可能性?

我使用Express开发了一个基于REST的服务,最初开始自己实现身份validation。 简单的用户名/密码authentication在哪里 密码使用BCryptencryption 用户信息+散列密码存储在mongoDB中 密码validation检查完成。 authentication令牌(有限的TTL)被生成/validation 我对Node.JS有一些了解,但还不足以让我感觉舒服一点,就是推出我自己的身份validation(login/注册)机制。 出于这个原因,我想用别的东西取代我的内部机制。 有东西被certificate,可扩展,可插拔和易于使用。 考虑到基于Node.JS的安全网站/ REST API的数量,我确信有人或公司必须提供的开箱即用的解决scheme可以使服务实现者快速启动并运行,而无需担心安全性/用户方面。 我正在寻找一个比passport或者everyauth图书馆even higher level of abstraction 。 一些提供开箱即用的function,能够满足我的要求,包括: 提供login页面/注册页面/configuration文件页面 不同的authentication模块(谷歌,脸谱,Github,….) 在数据存储(mongoDB)中存储用户信息(如果需要,需要+证书)。 记住我 忘记密码/重置密码 所以这里的问题是: 是否有可用的提供比护照/ everyauth / …更高的抽象级别的解决scheme? 如果有的话,你会推荐一些这种现成的解决scheme吗? 我是否应该忘记outsourcing my user authentication的概念,并开始查看护照和outsourcing my user authentication ,并开始使用这些库实现我的要求? 是否可以专注于我的业务逻辑,而不用担心有关用户身份validation的任何方面(写入login/注册页面,实现忘记密码/重置密码stream程,将用户信息存储在数据库中)。

Cloud9 IDE上的Nodejs中的Redis:

这是我的代码: var express = require("express"), app = express(), server = require("http").createServer(app), io = require("socket.io").listen(server), redis = require("redis"), env = {PORT: process.env.PORT || 8080, IP: process.env.IP || "localhost"}; client = redis.createClient(env.PORT , env.IP); client.on("error", function(err) { console.log(err); }); server.listen(env.PORT); console.log("Server started @ " + env.IP + ":" + env.PORT); 试图运行后,我在控制台上收到以下信息: Running Node Process Your code is […]

Express.js Passport身份validation会自动跳过策略

UPDATE 我已经从护照本地注册内部的代码移动到一个单独的处理程序,它运行良好。 问题在于Passport和本地注册的用法,但我不知道为什么。 我有一个设置与Node.js(Express)+护照进行身份validation和注册。 这是以前使用过的标准程序,但似乎不起作用。 护照注册立即进入failureRedirect。 主要的问题是代码没有击中任何的console.log()语句,因此我认为它甚至不处理第一个请求,并自动失败。 任何想法为什么或如何debugging? cmd日志: POST /register 302 4ms – 58b GET / 304 2ms GET /css/bootstrap.css 304 1ms GET /css/main.css 304 1ms GET /javascript/chart.js 304 2ms GET /javascript/bootstrap.js 304 2ms GET /javascript/index.js 304 2ms index.html表单: <form class="form-register" name="register-form" method="post" action="/register" data-name="register Form" enctype="application/x-www-form-urlencoded"> <div class="ARegistration" style="display:none;"> <input type="email" id="txtOnceEmail" class="form-control" […]

Express:一个路由的基本authentication

我正在尝试制作一组​​工具来访问我的数据库。 大多数是通过我的web应用程序访问数据,但我也需要一个页面,我的快速动力站点的密码为网站所有者提供一个在线工具来编辑数据库; 所有其他路由将不需要身份validation。 使用express 3, basic-auth很容易添加这样一个密码,但是它的function已经被Express 4中的中间件和大多数在线教程所淘汰。 basic-auth的新版本将处理authentication标题信息,但是如何在浏览器中触发loginpopup窗口呢? 下面的代码只不过是样板,所以对于世界上最简单的login提示一些提示是值得欢迎的。 express = require('express') app = express() auth = require 'basic-auth' port = Number(process.env.PORT || 9778); app.listen port, () -> console.log "Listening on port: " + port app.use '/editor', (req, res) -> user = auth req if (user == "….") … console.log user app.get '/editor', (req, res) […]

快速应用程序的简单密码authentication

我花了很长时间试图find一个简单的方法来密码保护使用Express(4)构build的网站,但我一直无法find一个教程或模块,这将有所帮助。 看起来似乎有任何复杂的, 成熟的用户注册/login程序使用护照 ,或者过于简单和不安全的HTTP基本authentication( 像这样 ),没有任何types的会话支持(以及上述主题的大量变化)。 我正在寻找的东西是将索引页面redirect到login页面,除非login,与会议支持某种注销选项。 我不需要数据库,只要相对安全,我会很乐意硬编码用户密码组合。 有没有什么资源可以帮助这个呢? 任何帮助或指针将不胜感激。