如何防止Firebase auth用户自行更改其电子邮件地址?

如何防止Firebase auth用户自行更改其电子邮件地址?,firebase,firebase-authentication,Firebase,Firebase Authentication,根据firebase文档,客户端SDK似乎允许直接更新电子邮件地址和用户配置文件信息 如果我构建的android应用程序没有任何UI工作流,用户可以更改电子邮件地址,那么我相信,99.99%以上的普通用户将按照预期使用该应用程序 但是,如果某些用户对应用程序进行调查/逆向工程,了解到应用程序使用firebase,他们是否可以调试和调用提供的任何firebase Auth client SDK方法?(例如,黑客是否有可能更改电子邮件地址[首次注册后不允许在我的应用程序中使用]&更改照片url以指

根据firebase文档,客户端SDK似乎允许直接更新电子邮件地址和用户配置文件信息

如果我构建的android应用程序没有任何UI工作流,用户可以更改电子邮件地址,那么我相信,99.99%以上的普通用户将按照预期使用该应用程序

但是,如果某些用户对应用程序进行调查/逆向工程,了解到应用程序使用firebase,他们是否可以调试和调用提供的任何firebase Auth client SDK方法?(例如,黑客是否有可能更改电子邮件地址[首次注册后不允许在我的应用程序中使用]&更改照片url以指向不合适的图像


使用Firestore数据库,我可以使用安全规则来防止读/写,但我不确定如何在Firebase身份验证中执行类似的操作。

是的,用户可以获得令牌,该令牌将用于调用Firebase身份验证公开的后端API,而Firebase身份验证通常由SDK使用。有没有与数据库安全规则等效的规则

事实上,用户通常应该能够更改其电子邮件地址,因为他们可能需要在某个时候更改电子邮件提供商。如果您的应用程序出于某种原因不允许这样做,并且您有一个严格的要求,即仅使用认证提供商提供的电子邮件地址您可以考虑在创建用户帐户时将该值写入数据库。然后,使用安全规则来防止用户在那里更改它。从那时起,您将只信任最初写入数据库的值,并且从不使用来自AuthAdvices的电子邮件地址。


您可能希望处理从写入数据库的操作,以便控制所有逻辑。

是的,用户可以获得令牌,该令牌将用于调用Firebase身份验证公开的后端API,通常由SDK使用。没有与数据库安全规则等效的规则

事实上,用户通常应该能够更改其电子邮件地址,因为他们可能需要在某个时候更改电子邮件提供商。如果您的应用程序出于某种原因不允许这样做,并且您有一个严格的要求,即仅使用认证提供商提供的电子邮件地址您可以考虑在创建用户帐户时将该值写入数据库。然后,使用安全规则来防止用户在那里更改它。从那时起,您将只信任最初写入数据库的值,并且从不使用来自AuthAdvices的电子邮件地址。


您可能希望处理从a向数据库的写入操作,以便控制所有逻辑。

谢谢您提供的详细信息。我的意思是,我可以通过批准的工作流更改用户的电子邮件地址,因为人们经常更改主地址。但是,似乎无法阻止恶意用户更改电子邮件(或用户名/照片)如果我必须维护一个单独的数据库来保持真相的来源,那么我将无法利用Firebase Auth的大多数功能,例如电子邮件操作、密码管理、配置文件等。我想我将评估内部Auth管理开发与几项风险之间的成本用户污染他们的个人资料数据,并决定要做什么。感谢您提供的详细信息。我的意思是,我很乐意用户通过批准的工作流更改他们的电子邮件地址,因为人们经常更改他们的主地址。但是,似乎无法阻止恶意用户更改电子邮件(或用户名/照片)如果我必须维护一个单独的数据库来保持真相的来源,那么我将无法利用Firebase Auth的大多数功能,例如电子邮件操作、密码管理、配置文件等。我想我将评估内部Auth管理开发与几项风险之间的成本用户污染他们的个人资料数据,并决定要做什么。