2015-03-31 39 views
1

我使用Auth0和Heroku創建應用程序,我想創建一個只允許.edu地址能夠登錄的空白規則。但是,空白框架僅針對特定地址顯示。Heroku/Auth0規則 - 空白 - .edu

function (user, context, callback) { 
    //we just care about NameOfTheAppWithWhiteList 
    //bypass this rule for every other app 
    if(context.clientName !== 'NameOfTheAppWithWhiteList'){ 
     return callback(null, user, context); 
    } 

var whitelist = [ '[email protected]', '[email protected]' ]; //authorized users 
var userHasAccess = whitelist.some(
    function (email) { 
    return email === user.email; 
    }); 

if (!userHasAccess) { 
    return callback(new UnauthorizedError('Access denied.')); 
} 

callback(null, user, context); 
} 

有關如何解決如何解決此問題的任何建議? Im新的JavaScript。

回答

2

您可以使用正則表達式來檢查電子郵件地址與.edu結束:

function (user, context, callback) { 
    if (!/\.edu$/.test(user.email)) { 
    return callback(new UnauthorizedError('Access denied.')); 
    } 

    callback(null, user, context); 
} 
3

這也適用於電子郵件地址來自特定國家的頂級域名,如.edu.ar

var userHasAccess = email.split('@')[1].split('.').slice(-3, -1).indexOf('edu') !== -1;