【问题标题】:How to use two separate passport instances in a single express server file如何在单个快速服务器文件中使用两个单独的护照实例
【发布时间】:2016-02-14 13:25:38
【问题描述】:

我有一个包含用户和管理部分的快速应用程序。两者都将在不同的端口上运行,并且需要不同的身份验证。我创建了一个 app.js,其中包含护照并创建了一个应用程序以及 adminApp。然后我为两者初始化护照如下:

var passport = require('passport');
var app = express();
var adminapp = express();

adminapp.use(passport.initialize());
adminapp.use(passport.session());

app.use(passport.initialize());
app.use(passport.session());

现在我已经定义了监听 /auth 和处理身份验证的路由。由于我在不同的端口上运行这些,我有相同的路由模式,并且两者都在它们的端口上正确监听。所以假设我有一个userSessions.js 和adminSessions.js 文件来处理身份验证路由。这些包括如下:

var userSessions = require('./routes/userSessions');
var adminSessions = require('./routes/adminSessions');

app.use('/auth', userSessions);
adminapp.use('/auth', adminSessions); 

现在,如果我尝试在管理应用上进行身份验证,它仍然会转到 userSessions.js 的 passport.serializeUser 和 passport.deSerializeUser 方法。

我该如何处理这种情况,以便分别处理管理员和用户身份验证?还是我这样做是错误的,管理部分应该在完全不同的应用程序中处理?

【问题讨论】:

    标签: javascript node.js authentication express passport.js


    【解决方案1】:

    没试过但是可以找 passports

    var Passport = require('passport').Passport,
        appPass = new Passport(),
        adminappPass = new Passport();
    

    【讨论】:

      猜你喜欢
      • 2015-11-25
      • 2021-01-20
      • 2017-02-07
      • 2021-05-24
      • 2014-10-04
      • 1970-01-01
      • 2018-06-28
      • 1970-01-01
      • 2017-04-30
      相关资源
      最近更新 更多