我目前在我的应用程序中使用 firebase 和 swift 3 进行用户身份验证。有没有办法只让具有特定电子邮件地址的用户注册使用我的应用程序?
最佳答案
基本上您想要做的是包括一个 bool 测试以确定电子邮件文本是否包含您想要的域。
这是一个判断输入文本是否包含集合域的函数。
func isValidEmail(testEmail:String, domain:String) -> Bool {
let emailRegEx = "[A-Z0-9a-z._%+-]+@[\(domain)]+\\.[com]{3,\(domain.characters.count)}"
let emailTest = NSPredicate(format:"SELF MATCHES %@", emailRegEx)
let result = emailTest.evaluate(with: testEmail)
return result
}
这是我使用它的例子
let customDomain = "mycompanyname"
let test = "frank@mycompanyname.com"
if isValidEmail(testEmail: test, domain: customDomain) == true {
//Test succeedes... Here you would register the users as normal
print("register \(test)")
}else{
//Test fails... Here you might tell the user that their email doesn't check out
print("register failed")
}
另外,我会看看苹果 App Distribution Guide如果您想在本地分发您的应用程序,例如员工群。
希望这对您有所帮助。
关于ios - 您能否只允许具有特定电子邮件地址的用户注册和使用您的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45494915/