Heroku / Auth0规则 - 空白 - .edu

时间:2015-03-31 19:49:02

标签: heroku rules auth0

我正在使用Auth0和Heroku创建一个应用程序,我想创建一个空格规则,只允许.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 = [ 'user1@mail.com', 'user2@mail.com' ]; //authorized users
var userHasAccess = whitelist.some(
  function (email) {
    return email === user.email;
  });

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

callback(null, user, context);
}  

有关如何解决如何解决此问题的任何建议?我是JavaScript的新手。

2 个答案:

答案 0 :(得分:3)

这也适用于特定国家/地区TLD的电子邮件地址,例如.edu.ar

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

答案 1 :(得分:2)

您可以使用正则表达式检查电子邮件地址是否以.edu结尾:

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

  callback(null, user, context);
}