Firebase 在frebase中重置密码时,用户是否可以选择任何电子邮件?

Firebase 在frebase中重置密码时,用户是否可以选择任何电子邮件?,firebase,firebase-authentication,ionic3,Firebase,Firebase Authentication,Ionic3,我正在使用ionic 3和firebase作为后端。在我的应用程序中,我试图让用户只使用用户名和密码注册。firebase默认情况下不提供该选项。因此,我将用户输入作为用户名(例如:“mike123”),然后添加@myapp.com。所以它看起来像一封电子邮件:'mike123@myapp.com'. 这很好,但当用户想要重置密码时,出现了一个问题。是否可以让用户在想要重置密码时键入任何有效的电子邮件地址?如果发送重置密码请求时提供的电子邮件对任何用户都不存在,则该电子邮件将失败 在安卓系统中,

我正在使用ionic 3和firebase作为后端。在我的应用程序中,我试图让用户只使用用户名和密码注册。firebase默认情况下不提供该选项。因此,我将用户输入作为用户名(例如:“mike123”),然后添加@myapp.com。所以它看起来像一封电子邮件:'mike123@myapp.com'. 这很好,但当用户想要重置密码时,出现了一个问题。是否可以让用户在想要重置密码时键入任何有效的电子邮件地址?

如果发送重置密码请求时提供的电子邮件对任何用户都不存在,则该电子邮件将失败

在安卓系统中,使用不存在的电子邮件呼叫时,会返回:

FirebaseAuthInvalidUserException: There is no user record corresponding to this identifier. The user may have been deleted.

您应该向用户请求一封有效的电子邮件,并在用户创建时单独保存他们的首选用户名。

如果发送重置密码请求时提供的电子邮件不存在于任何用户,则该电子邮件将失败

在安卓系统中,使用不存在的电子邮件呼叫时,会返回:

FirebaseAuthInvalidUserException: There is no user record corresponding to this identifier. The user may have been deleted.
您应该向用户索要一封有效的电子邮件,并在用户创建时单独保存他们的首选用户名。

您可以通过更改用户密码。请注意,这在Firebase Admin SDK中,因此需要在受信任的环境中运行代码,例如您控制的服务器或云功能

但通过伪造电子邮件地址来伪造用户名+密码是不理想的。我会考虑为您的需求创建一个自定义AuthServices。< /P> < P>您可以通过以下方式更改用户的密码。请注意,这在Firebase Admin SDK中,因此需要在受信任的环境中运行代码,例如您控制的服务器或云功能


但通过伪造电子邮件地址来伪造用户名+密码是不理想的。我会考虑为您的需求创建一个定制的AuthPosivor。< /P> THX@ AL。对于答复,在这种情况下,我不能使用用户名登录用户。它必须是一个有效的电子邮件地址不一定。在登录过程中,您只需验证提供的用户名是否有相应的电子邮件,然后使用它进行登录(请参见此)。但是,我以前没有尝试过这种方法(我只是直接使用电子邮件),因此我不确定授予未经身份验证的用户读取权限是否安全。如果我可以用相应的电子邮件检查用户名,那就太好了。..thxx获得建议@AL.thx@AL.获得回复,在这种情况下,我无法使用用户名权限登录用户。它必须是有效的电子邮件地址,不一定。在登录过程中,您只需验证提供的用户名是否有相应的电子邮件,然后使用它进行登录(请参见此)。但是,我以前没有尝试过这种方法(我只是直接使用电子邮件),因此我不确定授予未经身份验证的用户读取权限是否安全。如果我可以用相应的电子邮件检查用户名,那就太好了。thxx获得建议@AL。如果我的答案有用,请单击它左侧的upvote按钮。如果它回答了您的问题,请单击复选标记接受它。这样别人就知道你得到了(足够的)帮助。谢谢你,是的,这很有用。很抱歉,我的糟糕忘记了向上投票/勾选它如果我的答案有用,请单击它左侧的向上投票按钮。如果它回答了您的问题,请单击复选标记接受它。这样别人就知道你得到了(足够的)帮助。谢谢你,是的,这很有用。对不起,我的坏朋友忘了投票/勾选它