使用护照JS获取当前登录的用户名
Get current logged in username using Passport JS?
我按照使用Node,Express和Passport的在线教程创建了一个简单的用户登录应用程序。登录工作正常,但我想获取当前登录用户的用户名,但我似乎无法正常工作。
我的应用程序中有以下内容.js:
/// Configuring Passport
var passport = require('passport');
var expressSession = require('express-session');
app.use(expressSession({
secret: 'cookie_secret',
name: 'cookie_name',
proxy: true,
resave: true,
saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session({
secret: 'cookie_secret',
name: 'cookie_name',
proxy: true,
resave: true,
saveUninitialized: true
}));
从我在类似帖子中读到的内容来看,我需要公开用户名,以便我可以在其他文件中使用它。我尝试在我的应用程序中执行此操作.js:
app.get('/home', function(req, res) {
res.render('home.jade', { username: req.user.username });
});
Home是我想使用用户名的路线,我正在尝试访问用户名,并显示如下警报:
alert(req.user.username);
这不起作用,req 对象未定义...我不确定我错过了什么?
设法让这个工作。在我的应用程序中.js我有:
app.get('/home', function(req, res) {
res.render('home.jade', { username: req.user.username });
});
然后在我的/home 路由中,我可以通过执行以下操作访问用户名:
req.user.username
你混合了两件事,一个是客户端,另一个是服务器端,两者都使用 javascript,但对于客户端的渲染服务器端代码,你不能直接在客户端使用。 您必须像使用
app.get('/home', function(req, res) {
res.render('home.jade', { username: req.user.username });
});
在这里,您将用户名变量公开给视图
在翡翠文件中,你应该这样做
alert(#{username})
而不是
alert(req.user.username)
尝试:
app.use(cookieParser());
app.use(session({
secret: 'cookie_secret',
name: 'cookie_name',
proxy: true,
resave: true,
saveUninitialized: true
})
);
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
在控制器上使用 req.user
{ 用户名: user.local.username }
请点击以下链接
https://github.com/hnagarkoti/passportauthenticationWorking
相关文章:
- 需要提取当前登录用户的用户名以在字段中输入
- 如何获取登录用户的twitter oAuth令牌
- 如何向登录用户隐藏选择加入脚本
- 如何使用javascript确定登录用户的浏览器版本和IP地址
- 获取登录用户的电子邮件(Firebase安全规则)
- Facebook js-sdk可以't检索已登录用户的名称
- Sencha Touch 2-登录用户状态
- 在 SharePoint 中获取登录用户的用户名并立即使用它
- jQuery / bubbling - 如何为非登录用户停止我的 JavaScript 代码
- 如何在 Meteor 的服务器上创建用户帐户后自动登录用户
- 使用javascript基于登录用户重定向URL链接
- FB的替代内容,例如非登录用户的框
- 插座.IO - 同一登录用户在两个不同浏览器中使用 socket.id
- 骨干.js如何跟踪登录用户状态和有关应用程序结构的一般建议
- 执行流星重置时,登录用户的应用程序页面冻结
- 像Yelp和urbandictionary这样的网站如何防止非登录用户的双重投票
- 主干.js具有用于创建用户和登录用户的验证的模型
- 网站似乎在没有向服务器发送密码的情况下登录用户;这是怎么回事
- Express js会话——仅为登录用户创建
- 如何使用phonegap+quickblox注册/登录用户