0

私は、すべての認証が設定された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 に答える