我正在使用firebase来验证我的Android应用中的用户。我向用户提供了在登录窗口中重置密码的选项。当用户点击按钮时,它会成功发送电子邮件。但是,当用户点击链接时,它始终显示
“再次尝试重置密码。您重置密码的请求已过期或链接已被使用”
任何人都知道我错在哪里?我尝试使用不同设备的不同电子邮件ID登录。还是行不通。我使用的是“ com.google.firebase:firebase-auth:9.2.0 ”。
2016年8月31日更新
我与firebase支持联系,看起来有一些API密钥错误。如果您更改了浏览器API密钥,则无法更新。现在这个错误已修复,重置密码功能正常。
答案 0 :(得分:10)
如果您在Google API console中列出了应用程序API密钥的任何HTTP引荐来源,则需要包含电子邮件来源的应用程序本身:<app-name>.firebaseapp.com
。否则,此域名对您应用的密钥无效。
答案 1 :(得分:1)
答案 2 :(得分:0)
我也遇到了同样的问题,对我而言,原因是发送了多封密码重置电子邮件,而我只收到了第一封。
确保您只发送一次重置密码电子邮件,或者如果您多次发送,请等待多封电子邮件到达并使用最新电子邮件。
答案 3 :(得分:0)
我发现了我的问题所在...
对我来说,它与凭据设置无关。只是在控制台的“身份验证/登录”方法下,我禁用了“电子邮件/密码”提供程序。打开后,重置电子邮件链接将重新开始正常工作。
答案 4 :(得分:0)
我遇到了同样的问题并解决了。 但协议应为 https 。
在URL的末尾,我必须添加/ *,因为这里将由firebase添加令牌,api_key和其他参数。
https://Project ID.firebaseapp.com/* (我是从Firebase控制台获取项目ID的)
答案 5 :(得分:0)
我能够通过从电子邮件中删除“链接”选项(无需密码即可访问)来修复它({3}}
答案 6 :(得分:0)
这就是我解决的方法,与最佳答案略有不同: 首先确实检查电子邮件链接中使用了哪个 API KEY,在我的情况下是 PROD 密钥,即使我使用 DEV(不受限制)启动项目也是如此。
最重要的是:在 Website restrictions section of your API KEY 中添加 <app-name>.firebaseapp.com.
是不够的:您需要添加完全限定的域,包括 https:https://<app-name>.firebaseapp.com.
这为我解决了问题。< /p>