Articles of 护照

如何在login后请求用户数据,Node.JS

大家好,我是Node新手,请耐心等待。 无论如何,我目前正在为我的新节点应用程序的身份validation。 到目前为止,我有能力获得一切基本工作(login,注册,注销)。 我现在进入我的用户个人资料的设置页面,但我无法访问{{username}}或{{email}},例如,它保留空白或抛出一个错误。 我想知道如何让用户名,电子邮件和其他信息保留在会话中,或者一旦我的用户login后就可以访问它,以及以后如何向会话添加更多信息(这很重要,因为我需要做到这一点)。 这是我的代码: 注册(不包括validation) var newUser = new User({ username: username, email:email, password: password }); User.createUser(newUser, function(err, user){ if(err) throw err; console.log(user); req.flash('success_msg', 'You are registered and can now login'); login: router.post('/login', passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login',failureFlash: true}), function(req, res) { res.redirect('/'); }); 我不确定我需要显示什么代码,但是如果你们需要看别的东西来帮助我,请告诉我。 我用快递,护照和车把来使用Node.JS。 谢谢!

在Node.js上使用passport-ldapauth进行LDAPauthentication

我一直在与护照ldapauth挣扎了几天,我没有更多的想法,我做错了什么。 简而言之,我有一个使用两种护照策略的项目:本地和LDAP。 本地策略对我来说是完美的,但LDAP是有问题的。 我有一个AD的只读用户(我们称之为“ldap-read-only-admin”),我可以通过外部LDAP客户端连接到这个用户并查看相关的OU。 我也三重检查了SearchBase,这似乎是正确的。 但是,当将相同的configuration传递给passport-ldapauth时,它似乎无法绑定用户凭据(我猜)。 任何想法如何debugging这将非常感激。 这是app.js: var express = require("express"); var app = express(); var path = require("path"); var session = require("express-session"); var mongoose = require("mongoose"); var passport = require("passport"); var flash = require("connect-flash"); var cookieParser = require("cookie-parser"); var bodyParser = require("body-parser"); var morgan = require("morgan"); var configDB = require('./config/database.js'); require('./config/passport.js')(passport); // pass […]

如何正确使用passport.js

我正在尝试使用护照库来validationAPI请求。 要开始,我已经创build了一个NodeJS应用程序与快速框架。 该项目包含一些提供某些数据的apis。 在公共文件夹中,它包含具有用户名和密码字段的index.html页面。 的index.html <form action="/login" method="post"> <div> <label>Username:</label> <input type="text" name="name"/> </div> <div> <label>Password:</label> <input type="password" name="password"/> </div> <div> <input type="submit" value="Log In"/> </div> </form> 创build一个server.ts ,创build一个http服务器,并监听某个端口,并使用express框架创buildapis。 Server.ts let userList: User[] = [new User(1, "Sunil"), new User(2, "Sukhi")]; let app = express(); // passport library let passport = require('passport'); let LocalStrategy = require('passport-local').Strategy; […]

尝试访问节点js中的req.user属性时,无法读取未定义的属性“用户名”

我正在使用MEAN堆栈。 我想要访问req.user属性。 但是我得到一个错误,说当我尝试显示当前用户的用户名时, 不能读取未定义的属性“用户名” 。 我回到了一些网站。 https://www.airpair.com/express/posts/expressjs-and-passportjs-sessions-deep-dive 类似的问题Node + Express + Passport:req.user未定义 有人提到中间件function的顺序很重要。 我纠正了这些。 我仍然得到同样的错误。 我的错误是什么? 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 mongo = require('mongodb'); var mongoose = require("mongoose"); var expressValidator = require('express-validator'); var flash […]

使用护照快速找不到用户的凭证

我面临一个奇怪的问题,我的应用程序使用用户的fb凭据login,但我不能看到他的电子邮件,名称或ID等这里是我在我的users.js路线: – router.get('/auth/facebook',passport.authenticate('facebook', {scope: ['email', 'user_friends']})); router.get('/auth/facebook/callback', passport.authenticate('facebook',{ successRedirect:'/profile',failureRedirect:'/'},function(req,res){ console.log("in passport req"); //doesn't get printed console.log(req); })); 在我的configuration/ passport.js我正在做: – var configAuth=require('./auth'); //holds all appID, secret and successurl var FacebookStrategy=require('passport-facebook').Strategy; var passport=require('passport'); module.exports=function(passport){ passport.use(new FacebookStrategy({ clientID: configAuth.facebookAuth.clientID, clientSecret: configAuth.facebookAuth.clientSecret, callbackURL: configAuth.facebookAuth.callbackURL, profileFields: ['id', 'displayName', 'photos', 'email'] }, function(accessToken, refreshToken, profile, cb) { console.log("the user's credentials […]

护照JWT – 未经授权

我遇到了一个问题,那就是它总是返回给我。 当我设置标题授权给收到的令牌。 它返回。 擅自 。 router.get('/dashboard', passport.authenticate('jwt', {session: false}), (req, res) => { res.json('It worked: User ID is: ' + req.user._id); }); 。 var jwtOptions = { jwtFromRequest: ExtractJwt.fromAuthHeader(), secretOrKey: config.jwt.secretOrKey //issuer: config.jwt.issuer, //audience: config.jwt.audience, }; passport.use(new JWTStrategy(jwtOptions, (jwt_payload, done) => { User.findOne({id: jwt_payload.id}, (err, user) => { if (err) { return done(err, false); } […]

Node.js,express,护照authentication“Bad Request”

我正在使用Cloud 9来build立一个基本的社交媒体网站,并且在注册和用户身份validation方面遇到困难。 我正在使用Node.js,express和passport进行身份validation,并使用mongoDB作为数据库。 // PASSPORT Setup // app.use(require("express-session")({ secret: "I am the best", resave: false, saveUninitialized: false })); app.use(passport.initialize()); app.use(passport.session()); passport.use(new LocalStrategy(User.authenticate())); passport.serializeUser(User.serializeUser()); passport.deserializeUser(User.deserializeUser()); // INDEX Page app.get("/", function(req, res) { res.render("landing-page"); }); // REGISTER NEW app.get("/register", function(req, res) { res.render("user/register"); }); // REGISTER CREATE app.post("/register", function(req, res) { var user = req.body.user; var newUser […]

如何debugging护照

我不能为了我的生活似乎弄清楚如何debugging护照战略。 我只是在概念上做了一些可怕的错误? 我一直在这里b了我大概10个小时,还没有接近一点。 这是我第一次使用护照。 在这个特定的场景中,我正在使用passport-jwt。 我知道对象键是不正确的,但我只是想通过使用console.log()跟踪通过服务器的path,所以我明白事情是如何工作的。 我甚至没有达到passport.use( new JwtStrategy(..)) 。 我遗漏了不必要的代码。 连接到我的mongodb是好的,我的mongoose模式是好的。 我正在testing使用testing路线server.get('/fakelogin', …)做一个请求 – 承诺POST到/api/login 。 我也尝试使用curl -X POST并修改发布path到url查询参数。 我只是不断得到一个“未经授权”的错误,没有护照战略代码console.log有史以来就开始。 服务器 var server = express(); server.use(passport.initialize()); let opts = { jwtFromRequest: ExtractJwt.fromBodyField('token'), secretOrKey: config.apiKey, algorithms: [ 'HS256', 'HS384' ], ignoreExpiration: true }; passport.use(new JwtStrategy(opts, function( jwt_payload, done ) { // mongoose users query against […]

如何通过MongoStore查找存储在Mongo中的会话?

我正在使用Express-session和护照和MongoStore来存储我的会话。 他们显然被存储在MongoDB中,我怎么才能访问它们只是为了看看? 没有商业价值,这只是从理论和技术的angular度来看,我感兴趣,谢谢!

LinkedIN OAuthlogin麻烦Nodejs

我正在使用LinkedIn OAuth和护照进行login。无论什么原因,我第一次尝试login时,它会在没有login的情况下路由到主页。然而,第二次login正确。 什么可能导致这个问题? LinkedIn或护照? 这是获取path: router.get('/auth/linkedin/callback', passport.authenticate('linkedin', {failureRedirect: '/', failureFlash:true}), function (req, res, next) { User.findOne({_id: req.user._id}, function (err, user) { if (err) { return next(err); res.redirect("/") } user.last_login = moment(); user.save() return res.redirect('/profile/' + user.username); }); }); 然后护照链接在: passport.use(new LinkedInStrategy({ clientID: config.linkedin.consumerKey, clientSecret: config.linkedin.consumerSecret, callbackURL: config.linkedin.callbackURL, state: true, scope: ['r_basicprofile', 'r_emailaddress']}, function (token, refreshToken, […]