如何在使用NodeJS + Passport的OAuth流程中保留子域?

时间:2013-10-09 09:38:41

标签: node.js passport.js

我有许多子域,需要为身份验证请求保留正确的子域。我的OAuth提供程序允许我向授权添加自定义字段“state”,我在回调函数的响应中返回该状态。

我需要在原始请求中的referrer标头中将'state'参数设置为子域。但是,我无法访问下面代码中的请求对象。如何根据请求标头使状态参数值动态化?

appSecure.get('/oauth/authorize', passport.authenticate('forcedotcom', { state: 'test' }));

1 个答案:

答案 0 :(得分:1)

包裹护照电话:

function dynamicStateAuth(req, res, next) {
  passport.authenticate('forcedotcom', { state: req.foo })(req, res, next)
}

appSecure.get('/oauth/authorize', dynamicStateAuth);