2012-03-28 8 views
0

私は毎回の設定でexpressjsアプリを持っています。特定のユーザーだけがeveryauthを使用してログインできるようにする

Everyauthは正常に動作しています。さて、私はすべての認証機関がユーザーに電子メールIDが正規表現と一致するアプリにログインできるようにしたいと考えています。

私は人々がその電子メール([email protected]を想定)文字「foo」という(と仮定し、[email protected])で始まるか、adeptocorp.comなどの特定のドメインのものであり、ログインしてみたいと思いますこの状況を解決するための解決策を教えてください。

+0

>親切に私にこのような状況を解決するためにいくつかのソリューションを提供|| ||おそらく、あなたが試したこと、なぜ失敗したのかを教えてください。ちょうど解決策を求めても、あなたはどこにも行きません。 – Randolpho

答えて

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) 
+0

私はgoogleとfacebook認証を使用しています – ArjunUrs

+0

編集はいくつかのカスタムミドルウェアで追加されました –

関連する問題