Firebase 身份验证更改密码失败
Firebase auth changePassword failing
对于一个特定的用户,这是失败的。对于我尝试的任何其他用户,它都有效,但对于这个用户,无论我做什么,此调用都会失败并显示 "INVALID_PASSWORD" 错误。
firebaseRef.changePassword({
email: <email-address>,
oldPassword: <resettoken>,
newPassword: <newpassword>
}, function(err) {
// {"error":{"code":"INVALID_PASSWORD","message":"The specified password is incorrect."}}
})
我试过了
- 使用不同电子邮件地址的相同重置密码流程的简单密码(排除新密码无效的可能性)
- 再次发送重置密码电子邮件并确保使用具有最新重置令牌的link
- 在不同的帐户上完成重设密码流程(工作正常,多次)
这里没思路了...好像只有这个帐号。
原来收件人的电子邮件客户端是 down-casing URL 中的 href,这导致令牌参数不正确(区分大小写)
这个是我的link电子邮件模板(纯文本):
https://<mywebsite>.com/?email=%EMAIL%&reset_token=%TOKEN%
使用该计划文本 url^ 看来此客户使用的一封电子邮件 down-cased 和 link。解决方案是添加一个 html 模板:
<a href="https://<mywebsite>.com/?email=%EMAIL%&reset_token=%TOKEN%">https://<mywebsite>.com/?email=%EMAIL%&reset_token=%TOKEN%</a>
对于一个特定的用户,这是失败的。对于我尝试的任何其他用户,它都有效,但对于这个用户,无论我做什么,此调用都会失败并显示 "INVALID_PASSWORD" 错误。
firebaseRef.changePassword({
email: <email-address>,
oldPassword: <resettoken>,
newPassword: <newpassword>
}, function(err) {
// {"error":{"code":"INVALID_PASSWORD","message":"The specified password is incorrect."}}
})
我试过了
- 使用不同电子邮件地址的相同重置密码流程的简单密码(排除新密码无效的可能性)
- 再次发送重置密码电子邮件并确保使用具有最新重置令牌的link
- 在不同的帐户上完成重设密码流程(工作正常,多次)
这里没思路了...好像只有这个帐号。
原来收件人的电子邮件客户端是 down-casing URL 中的 href,这导致令牌参数不正确(区分大小写)
这个是我的link电子邮件模板(纯文本):
https://<mywebsite>.com/?email=%EMAIL%&reset_token=%TOKEN%
使用该计划文本 url^ 看来此客户使用的一封电子邮件 down-cased 和 link。解决方案是添加一个 html 模板:
<a href="https://<mywebsite>.com/?email=%EMAIL%&reset_token=%TOKEN%">https://<mywebsite>.com/?email=%EMAIL%&reset_token=%TOKEN%</a>