我正在我的应用程序中实现电子邮件登录,它在我设置项目时工作,即我实现它时。我可能已经在我的谷歌控制台中删除了一些API密钥,但现在每次我点击电子邮件中的链接(验证或重置)时,我都会收到消息:
请尝试重新验证您的电子邮件
您的验证电子邮件已过期或链接已被使用的请求
我知道这可能与this question重复,但我似乎无法找到答案。
我收到的电子邮件的链接附有API密钥。附加的API密钥不会出现在我的Google云端控制台中的任何位置。它出现在我的firebase控制台下:
Web API key: the_web_api_key
因此,我在电子邮件中收到的链接如下所示:
https://<appName>.firebaseapp.com/__/auth/action?mode=verifyEmail&oobCode=
<oobCode>&apiKey=<the_web_api_key>
但是这个the_web_api_key
与我的配置初始化对象中的apiKey
不匹配。在那里,您可以找到旧版服务器密钥:
let config = {
apiKey: legacy_server_key,
authDomain: "<appname>.firebaseapp.com",
databaseURL: "https://<appname>.firebaseio.com",
projectId: "<appname>",
storageBucket: "<appname>",
messagingSenderId: "<senderId>"
}
旧版服务器密钥在我的Google云端控制台中显示为服务器密钥。
也许这可能是问题所在?我应该在初始化对象中使用Web Api Key吗?我记得这在过去是如何工作的,所以我很困惑。
答案 0 :(得分:1)
重置密码的一种可行方法是,在密码重置电子邮件链接中将旧的API密钥替换为新的API密钥。
从重置密码时向您发送的密码重置电子邮件中获取链接:
并使用新密钥进行更新:
您可以在Google的控制台中找到您的API密钥: https://console.cloud.google.com/home/dashboard?folder=&organizationId=&project=(PROJECT-ID)