【问题标题】:Heroku/Auth0 Rules - Whitespace - .eduHeroku/Auth0 规则 - 空白 - .edu
【发布时间】:2015-06-05 07:16:06
【问题描述】:

我正在使用 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 新手。

【问题讨论】:

    标签: heroku rules auth0


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-11-07
        • 2010-11-28
        • 2017-05-25
        • 2017-09-22
        • 2021-08-08
        • 2018-07-03
        • 1970-01-01
        • 2015-08-27
        • 2015-08-18
        相关资源
        最近更新 更多