我需要在passport.js身份验证方面提供帮助。 passort.js真正的工作正常。 但我不知道如何在弹出窗口中创建身份验证登录。 后端的所有身份验证过程都会起作用。
请帮帮我。
'linkedin': function(req, res) {
passport.authenticate('linkedin', {failureRedirect: '/login', scope: ['r_basicprofile', 'r_emailaddress']},
function(err, user) {
req.logIn(user, function(err) {
if (err) {
// console.log(err);
res.view('500');
return;
}
req.session.user = user;
return res.redirect('/user');
});
})(req, res);
}, 'facebook':function(req,res){ passport.authenticate('facebook',{failureRedirect:'/ login',范围:['email','publish_stream'],display:'popup'}, function(err,user){
req.logIn(user, function(err) {
if (err) {
throw err;
res.view('500');
return;
}
req.session.user = user;
if (p) {
//write the post project function
}
return res.redirect('/user');
});
})(req, res);
},
这是我的登录页面
<form action ="/auth/linkedin" method = "POST" class="columns small-12 iconized" >
<input type="hidden" value="test messge" name="title">
<button type="submit" class="icon-linkedin">Linkedin</button>
</form>
请帮助我如何调整窗口大小。
答案 0 :(得分:0)
一个解决方案是在此http://www.freshdesignweb.com/demo/index.php?p=1379320109
找到jquery.lightbox_me.js按照以下步骤操作:
1)下载源代码,并将.js文件复制到assets / js,并将.css文件复制到assets / style
2)将您的html代码更改为
<button id="loginBtn" class="btn btn-success btn-med">Login</button>
<form id="loginForm" action ="/auth/linkedin" method = "POST" class="columns small-12 iconized" display: none; >
<input type="text" value="test messge" name="title">
<button type="submit" class="icon-linkedin">Linkedin</button>
</form>
<script>
$('#loginBtn').click(function(e) {
$('#loginForm').lightbox_me({
centered: true,
onLoad: function() {
$('#loginForm').find('input:first').focus()
}
});
e.preventDefault();
});
</script>
3)这应该可以解决问题。但是最终如果你将js脚本保留在html / ejs文件之外最好,所以事情会更整洁。
由于Sails附带了ejs-locals,我会将标签内的内容放在一个单独的文件中并调用&lt;%block ...%&gt;代替。查看此页面以获取更多信息: Sails.js - How to inject a js file to a specific route?