2012-03-28 65 views
0

我有一個expressjs應用程序與everyauth設置。只允許特定用戶使用everyauth登錄

Everyauth工作正常。現在,我希望everyauth允許用戶登錄到其電子郵件ID與正則表達式匹配的應用程序。

說我希望人們登錄其電子郵件以字母「富」開始(假設,[email protected])或像adeptocorp.com特定域的(假設[email protected]

請給我提供一些解決方案來解決這種情況

+0

>請提供我一些解決方案來解決這種情況|| ||您應該考慮告訴我們您嘗試過的以及爲什麼/如何失敗。只是要求解決方案會讓你無處可尋。 – Randolpho 2012-03-28 14:10:12

回答

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

我正在使用谷歌和Facebook的身份驗證 – ArjunUrs 2012-03-28 15:26:01

+0

編輯添加了一些自定義中間件 – 2012-03-28 15:32:46