我正在使用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的新手。
答案 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);
}