将此代码用于Google OAuthentication
// Authenticate route with bifurcation for admin and general users
// Solution based on:
// http://www.passportjs.org/docs/downloads/html/#custom-callback
router.get('/google/callback', (req, res, next) =>
passport.authenticate('google', (err, user, info) => {
if (err) return next(err);
if (!user) return res.redirect('/login');
req.logIn(user, err => {
if (err) return next(err);
if (req.user.email === 'adminemail@adminemail.com') return res.redirect('/admin');
return res.redirect('/dashboard');
});
})(req, res, next)
);
当然只公开管理员电子邮件,根本不公开密码。
无论如何,在路由器代码上公开电子邮件地址是否安全?
还是我需要将电子邮件写为全局变量或其他技巧?
答案 0 :(得分:2)
代码将在服务器上执行,因此不会向任何用户公开电子邮件。
话虽这么说,将其存储在诸如管理员用户数组之类的变量中仍然是更好的做法,以便在您拥有更多用户时可以对其进行扩展。