Firebase - 自定义重置密码登陆页面
Posted
技术标签:
【中文标题】Firebase - 自定义重置密码登陆页面【英文标题】:Firebase - Customize reset password landing page 【发布时间】:2016-10-22 07:50:21 【问题描述】:我可以在 Firebase 中自定义密码重置的登陆页面吗?我想本地化该页面,因为我的应用程序不是英文的。有什么办法吗?
提前致谢。
【问题讨论】:
对我来说似乎很清楚 - 他正在询问如何自定义登录页面以重置密码,因为他的应用程序不是英文的。 【参考方案1】:您可以在Firebase Console -> Auth -> Email Templates -> Password Reset
下自定义密码重置电子邮件,并将电子邮件中的链接更改为指向您自己的页面。请注意,<code>
占位符将替换为 URL 中的密码重置代码。
然后,在您的自定义页面中,您可以从 URL 读取密码重置代码并执行
firebase.auth().confirmPasswordReset(code, newPassword)
.then(function()
// Success
)
.catch(function()
// Invalid code
)
或者,您可以在显示密码重置表单之前先检查代码是否有效
firebase.auth().verifyPasswordResetCode(code)
.then(function(email)
// Display a "new password" form with the user's email address
)
.catch(function()
// Invalid code
)
https://firebase.google.com/docs/reference/js/firebase.auth.Auth#confirmPasswordReset https://firebase.google.com/docs/reference/js/firebase.auth.Auth#verifyPasswordResetCode
【讨论】:
更改自定义操作时,表单显示:“您的自定义操作 URL 适用于所有电子邮件模板”...这是否意味着我还需要实现电子邮件重置(还原)和电子邮件验证页面?applyActionCode()
是如何工作的?
能否动态更改模板中的语言?
不,您需要自己设置语言翻译 i18n【参考方案2】:
@Channing Huang 提供的答案是正确答案,但您还需要记住,它返回的错误并不总是invalid-code
。
检查错误是否可能已过期,用户直到稍后才打开 URL 或其他情况。如果过期,您可以再发送一封电子邮件。
【讨论】:
以上是关于Firebase - 自定义重置密码登陆页面的主要内容,如果未能解决你的问题,请参考以下文章