Tag: passport.js

Deployd:如何实施dpd-passport并进行安全authentication

让我先说我真的很喜欢Deployd 。 我想在生产中使用它,但我想要合并OAuth和社交login,所以我安装了dpd-passport模块。 除了两个小(大)的问题之外,它工作的很好: 当用户通过OAuth提供商(例如Facebook,Twitter,Github)login时,会创build一个新的用户logging…但是如果同一用户清除了他们的Cookie或使用不同的浏览器login,则会创build一个新的用户logging。 如果我做了一些聪明的事情(阅读:hacky),并根据socialAccount和socialAccountId(为每个社交帐户独特但不变的)为社交login用户分配一个ID,则可以使用标准的用户创build方法来欺骗用户,如果他们知道用户的socialAccount和socialAccountId,则向/users端点发送POST请求。 我的问题是:IA)如何防止#1发生,或者B)禁用用户创build的标准方法,同时又不妨碍OAuth用户创build? 有没有人在生产中成功地使用过Deployd和dpd-passport ? 如果是这样,我想和你谈谈… 提前致谢!

如何在Azure AD上使用passport.js和OpenID Connect策略

我正在使用OpenID Connect,Node.js,Passport.js对Azure AD进行身份validation。 你能指点我的任何资源/文档和/或示例代码? 我遇到了护照openidconnect 。 这仍然是活动模块? 你知道我可以使用的任何其他模块吗? 如果是这样,如果你能指点我一些示例代码将是伟大的!

如何处理护照js中的多个会话

我正在使用护照js进行身份validation请求,但是在我的应用程序中,我需要维护两种不同types的会话,一个用于pipe理员用户,一个用于普通用户,这样,如果pipe理员login,则应该维护会话,如果用户login,那么会话应单独维护,现在我正在使用两个护照策略,一个是用户,另一个是admin_user,但是我从req.session.passport.user获得的会话是最后一个login,有什么办法让它分开像req.session.passport.admin和req.session.passport.user? 现在我有下面的策略。 passport.use('admin', new LocalStrategy({ usernameField: 'email', passwordField: 'password' }, function(email, password, done) { var adminflag = 'admin'; db.adminUser.find({ where: { email: email }}).success(function(user) { if (!user) { done(null, false, { message: 'Unknown user' }); } else if (!user.authenticate(password)) { done(null, false, { message: 'Invalid password'}); } else { console.log('Login (local) : { id: ' […]

使用Passport在Socket.io上进行令牌validation

我已经构build了一个使用Passport进行身份validation的Node.js API。 一旦用户被authentication,他可以通过BearerStrategy访问Web服务。 现在,我想创build一个聊天,只允许访问经过身份validation的用户。 我发现只有一个解决scheme处理令牌: jsonwebtoken ,我想知道是否有办法使用Passport来做到这一点。 特别是因为我已经实施了护照持有人策略。 谢谢

如何在使用护照-http Basic +护照 – 本地组合时防止www-authenticate头

您好,我想支持我的应用程序中的基于身份的身份validation和http基本身份validation。 一切工作如预期,除非当我使用基于窗体的身份validation通过angularjs凭证错误。 浏览器显示由WWW-Authenticate头引起的BASIC auth对话框,而不是让我的angular码处理401。 如何防止在使用本地策略时添加标题? 或者我怎样才能以不同的方式支持这两种机制? 我在我的基于快件的应用程序中使用以下路线。 api.post('/authenticate', passport.authenticate(['local', 'basic'], { session: false }), function (req, res) { 这将启用该url上的两种身份validation方法。 我再说一遍,当我使用错误的证书使用formbased它显示我基本的身份validation对话框(我不希望这一点)。 以下是我如何注册的战略。 passport.use(new BasicStrategy({ realm: 'Authentication failed. Wrong username or password.'}, verifyLocalUser)); passport.use(new LocalStrategy(verifyLocalUser)); 这是我的verifyUser方法看起来像… var verifyLocalUser = function (username, password, next) { User.findOne({ username: username }).select('fullname admin username password').exec(function (err, user) { if (err) { […]

呃哦,看起来像是出了问题。 请稍后再试。 雅虎护照

我使用护照雅虎生成的身份validation,这是我的configuration yahoo : { clientID: "YYYYYYYYYYYYYYYYYYYYYYYYYYYYy", clientSecret: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", callbackURL: "http://black.jack.co/auth/yahoo/callback" } 这是我的configuration在雅虎开发应用程序名称:authenticicate雅虎主页url: http ://black.jack.cocallback域: http : //jack.co 当我尝试login时,雅虎callback给出一个错误呃哦,看起来像出了什么问题。 请稍后再试。 如何解决这个问题?

正确的护照策略匿名移动应用程序

我正在build立一个像yik牦牛这样的匿名应用程序,并且想要问一下用什么合适的护照策略来进行身份validation。 我目前正在使用该设备的UUID。 我看了当地的策略,这需要一个用户名,密码,它是基于会话的(我实现令牌的基础,所以我的API不开放)。 也就是说,我会执行passport-http的基本策略,完全不考虑密码,只使​​用UUID作为身份validation? 请帮忙! 我不完全确定如何解决这个问题。 不过,我知道我不希望用户login。 谢谢!

如何在Mac上为ADFS 2.0的“依赖方信任”和“声明提供程序信任”创build联合元数据XML

嗨,我们希望将我们的Web应用程序与客户现有的ADFS提供程序服务集成。 我们的应用程序将使用NodeJS和passport-saml连接到ADFS提供程序。 但是,根据我的理解,生成依赖信任方XML我们需要微软的向导adfssetup.exe只适用于Windows服务器。 有没有办法创build这个信任和索赔XML文件没有一台Windows机器? …显然可以自由式编码,但我不真正相信自己。

护照 – dynamic覆盖策略

我有一个护照库的节点应用程序。 我使用这样的护照策略: passport.use(someStrategy) 以后可以dynamic地覆盖该策略吗? 在应用程序运行期间,我想在某个时候使用不同的策略。 实际上是一样的策略,但configuration不同。 如果我只是做另一个passport.use(someOtherStrategy),那么是不是只是添加另一个“中间件”护照? 那么这不会删除旧的,只需添加一个。 我想要删除旧的。 所以要么覆盖,要么删除并添加一个新的。

Node.js / express – 使用redis的护照,获得未授权的会话

我试图使用快递与快递创build一个用户login和会话。 我使用这个curl脚本testing路线: curl -d 'email=testEmail&password=testPass' http://localhost:3000/users/session 当我这样做,护照工作正常,通过序列化,然后它返回http 302.我还没有弄清楚它在序列化后做了什么,但是当我在浏览器中使用我的loginHTMLforms而不是curl,它显示我“未经授权”401,我没有看到我的任何控制台日志。 这是我的app.js: var express = require('express') , fs = require('fs') , cons = require('consolidate') , http = require('http') , flash = require('connect-flash') , passport = require('passport') , RedisStore = require( "connect-redis" )(express) //for sessions (instead of MemoryStore) , redis = require('redis') , env = process.env.NODE_ENV || 'development' , […]