首页 > 解决方案 > 在注册用户时如何提供安全性?(例如:每个用户名必须不同,电子邮件必须有效等)

问题描述

我正在制作一个简单的社交媒体应用程序。现在我正在尝试在注册用户时提供安全性。我想要类似的东西。顺便说一句,只是在出现问题时编写代码,例如用户名是否存在于数据库中,而不是在事情正常时编写代码,例如:Auth.auth().crateUser()

if username already exists in db {
    (dont let user register.)
} else {
    (let user register)
}

if email is not valid {
    (dont let user register.)
} else {
   (let user register)
}

类似的东西。我在想也许使用警报等。

任何答案都非常感谢...

标签: swiftfirebasefirebase-authentication

解决方案


您可以告诉 Firebase 身份验证仅允许具有每个特定电子邮件地址的单个用户在您的项目中注册。为此,您可以在 Firebase 控制台的身份验证提供程序One account per email address面板中启用该设置。

如果您的意思是使用电子邮件验证,您希望确保用户实际上可以访问他们输入的邮件地址,这在 Firebase 中称为电子邮件验证。Firebase 不要求用户在登录之前验证其电子邮件地址。但如果您的应用程序需要,您可以告诉 Firebase从应用程序内发送验证电子邮件。然后,当用户单击该电子邮件中的链接时,会在他们的帐户上设置一个属性,然后您可以签入您的代码(如果您使用的是实时数据库、Cloud Firestore 或 Cloud Storage,则可以在服务器端安全规则中签入)。有关此流程的更多信息,请参阅博客文章Firebase Auth 中的电子邮件验证

此流程的替代方法是使用 Firebase 较新的电子邮件链接提供程序。这可以防止用户输入密码,而是使用带有链接的电子邮件让他们登录。这也会自动将他们的电子邮件地址设置为已验证。


推荐阅读