0

我有一个带有everyauth 设置的expressjs 应用程序。

Everyauth 工作正常。现在,我希望everyauth 允许用户登录其电子邮件ID 与正则表达式匹配的应用程序。

假设我希望人们登录其电子邮件以字母“foo”开头(假设,footest@gmail.com)或属于特定域,如 adeptocorp.com(假设 node@adeptocorp.com)

请为我提供一些解决方案来解决这种情况

4

1 回答 1

0

如果您使用密码身份验证(我认为这是因为您不必关心电子邮件地址),那么您可以使用该validateRegistration功能。

对于其他人,编写一个连接中间件,例如:

function checkEmail(regex){
  return function (req, res, next) {
      // get everyauth.user via the everyauth helper
      if (!everyauth.user.email.test(regex)) {
          res.writeHead(403);
          res.end("e-mail address not allowed");
      }
      else { next(); }
  }
};

并在使用后立即使用它,everyauth例如:

connect // or express
...
.use(checkEmail)
于 2012-03-28T15:03:58.500 回答