getMatchingEmail static method
Checks if both email addresses original and check match and
returns the match.
Set allowPlusAlias if plus aliases should be checked, so that
name+alias@domain matches the original name@domain.
Implementation
static String? getMatchingEmail(
String original,
String check, {
bool allowPlusAlias = false,
}) {
if (check == original) {
return check;
} else if (allowPlusAlias) {
final plusIndex = check.indexOf('+');
final atIndex = check.lastIndexOf('@');
if (plusIndex > 0 && atIndex > plusIndex) {
// `name+alias@domain` only matches exactly `name@domain`, a prefix
// check would let `ad+min@domain` impersonate `admin@domain`
final withoutAlias =
check.substring(0, plusIndex) + check.substring(atIndex);
if (withoutAlias == original) {
return check;
}
}
}
return null;
}