【发布时间】:2016-11-04 18:19:40
【问题描述】:
我正在使用 firebase 对我的 android 应用中的用户进行身份验证。我为用户提供了在登录窗口中重置密码的选项。当用户单击按钮时,它会成功发送电子邮件。但是当用户点击链接时,它总是显示
“再次尝试重设密码。您重设密码的请求已过期或该链接已被使用”
有人知道我哪里错了吗?我尝试使用来自不同设备的不同电子邮件 ID 登录。还是行不通。我正在使用“com.google.firebase:firebase-auth:9.2.0”。
2016 年 8 月 31 日更新
我联系了 Firebase 支持,看起来 API 密钥存在一些错误。如果您更改浏览器 API 密钥,它不会得到更新。现已修复此错误,重置密码功能正常工作。
【问题讨论】:
-
我刚刚测试了重置密码,它按预期工作。我推测这里使用的 api 密钥不正确。我不知道为什么。 api 密钥附加到重置密码链接“&apiKey=API_KEY”。想想您在配置项目时可能在 FIrebase 控制台中所做的一些更改。我会从那里开始。您可以检查 web auth sn-p 代码。它在应用程序初始化中有一个 api 密钥。尝试使用该 sn-p 中的浏览器 api 密钥,并将该密钥附加到重置密码链接。
-
@bojeil “API_KEY”没有这样的字段。我们是否要添加 API 密钥字段?如果是,在哪里?在电子邮件模板中?
-
这里有同样的问题。我还没有碰过电子邮件模板。该链接末尾包含
&apiKey=CORRECT_KEY,但该参数未出现在模板中。 -
@TravisChristian 没错,api_key 没有字段。我的模板 %LINK% 值是“myappname.firebaseapp.com/__/auth/action”我没有在那里修改任何东西。我刚刚添加了“回复”电子邮件并在模板中更改了发件人的姓名。其余设置保持不变。
-
@bojeil ,是的。它在那里。电子邮件中的链接如下所示。 “https : // appname.firebaseapp.com/__/auth/action?mode=resetPassword&oobCode=someCharacters&apiKey=someCharacters ”(为便于阅读而添加了空格)但是每当我们单击时,您都会收到此问题中报告的消息。
标签: android firebase firebase-authentication