重定向用户(如果他们不使用特定域)

时间:2019-03-26 02:47:56

标签: javascript express passport.js google-oauth2

我正在尝试使用res.redirect将用户重定向到一条路由,或者如果他们尝试使用指定域以外的域登录,则使用res.send发送文件。条件检查正在运行,但是我正在尝试使用res.sendFile / res.redirect,但似乎不在此功能范围内。显然,此函数中没有res,但这就是我要提出的全部内容。在网上进行了非常不错的搜索,但我尚未解决该问题。

感谢您的帮助。

passport.use(
  new GoogleStrategy({
    callbackURL: '/google/redirect',
    clientID: keys.google.clientID,
    clientSecret: keys.google.clientSecret
}, function (accessToken, refreshToken, profile, done){
  if (profile._json.hd === "HIDDEN-DOMAIN.COM") {
    User.findOne({googleId : profile.id})
  .then(function(currentUser){
    if(currentUser){
      console.log('User with ID' + currentUser.googleId +' already exists. No new entry was made');
      done(null, currentUser);
    } else {
      new User({
        username: profile.displayName,
        googleId: profile.id
      })
      .save()
      .then(function(newUser){
        console.log('New user created: ' + newUser);
        done(null, newUser);
      });
    }
  })
} else {
  console.log(__dirname);
  res.sendFile('../login.html');
};
}));

1 个答案:

答案 0 :(得分:0)

使用中间件执行检查,如果通过则record = record + data.c_str();执行检查。 结帐:user model

此示例显示了/路径上安装的中间件功能。在/路径上针对任何类型的HTTP请求执行该函数。

此示例显示了路由及其处理程序功能(中间件系统)。该函数处理GET请求。

::SysFreeString(record)
  

示例:

next()