passport.js 使用sails.js 验证弹出窗口
Posted
技术标签:
【中文标题】passport.js 使用sails.js 验证弹出窗口【英文标题】:passport.js authenticate popup window using sails.js 【发布时间】:2014-02-23 21:26:34 【问题描述】:我需要在 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': 函数(请求,资源) passport.authenticate('facebook', failureRedirect: '/login', 范围: ['email','publish_stream'],display:'popup' , 功能(错误,用户)
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>
请帮助我如何调整窗口大小。
【问题讨论】:
【参考方案1】:一个解决方案是 jquery.lightbox_me.js 在这里找到 http://www.freshdesignweb.com/demo/index.php?p=1379320109
只需按照以下步骤操作:
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,我会将标签内的内容放在一个单独的文件中,并改为调用 。查看此页面以获取更多信息: Sails.js - How to inject a js file to a specific route?
【讨论】:
以上是关于passport.js 使用sails.js 验证弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章
Sails.js + Passport.js 获取当前登录用户
使用 Passport.js 和 Sails.js 注册后如何重定向到特定位置?
使用 passport.js、sails.js API 和 ember.js 登录 Facebook