【发布时间】:2016-10-22 07:50:21
【问题描述】:
我可以在 Firebase 中自定义密码重置的登陆页面吗?我想本地化该页面,因为我的应用程序不是英文的。有什么办法吗?
提前致谢。
【问题讨论】:
-
对我来说似乎很清楚 - 他正在询问如何自定义登录页面以重置密码,因为他的应用程序不是英文的。
标签: firebase firebase-authentication
我可以在 Firebase 中自定义密码重置的登陆页面吗?我想本地化该页面,因为我的应用程序不是英文的。有什么办法吗?
提前致谢。
【问题讨论】:
标签: firebase firebase-authentication
您可以在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
【讨论】:
applyActionCode() 是如何工作的?
@Channing Huang 提供的答案是正确答案,但您还需要记住,它返回的错误并不总是invalid-code。
检查错误是否可能已过期,用户直到稍后才打开 URL 或其他情况。如果过期,您可以再发送一封电子邮件。
【讨论】: