2016-09-17 47 views
1

由于某些原因,我的firebase项目apikey与数据库关联发生了变化。我仍然可以创建另一个api密钥,更新到应用程序中。如何更新当前Firebase项目的新API密钥

但是,当用户尝试重置密码时,链接使用旧密钥并导致“您的重置密码的请求已过期或链接已被使用”(我想我在某处读取此问题,现在我发现原因)。

是否有更新现有Firebase项目的新API密钥?

谢谢

+0

通过API密钥,你的意思是像FCM的服务器密钥? –

+0

@AL .:我的意思是FCM的浏览器密钥,我们可以在https://console.developers.google.com/apis/credentials?project= 找到。我认为重置密码使用浏览器键与数据库进行通信,并通过链接访问https:// .firebaseapp.com/__/auth/action –

+0

我以前没遇到过这个。也许你可以尝试重新生成服务器密钥时尝试相同的步骤,因为我试过[这里](http://stackoverflow.com/a/37741826/4625829)。 –

回答

1

不知何故,我原来的apiKey被找回了。你可以找到与主火力点页面上的应用程序相关联的原始密钥(这是从console.google.com删除),通过

概览>项目设置>常规

基本上,当用户请求恢复passowrd,firebase将发送和恢复链接的电子邮件。如果您查看链接,您会看到链接中包含的api是不再存在的api。

我建议你联系firebase支持。我没有解决这个问题的官方途径,但这里是快速的,我能想到的,下面为

  1. 在console.google.com创建新的API>选择您的火力点项目
  2. 创建带有可以读取URL参数的函数的页面。让它收到火力恢复密码的网址,并用新的 更换死API,然后通过添加您在步骤2中创建的页面您重定向到新的火力点恢复密码的URL
  3. 编辑电子邮件模板,用火力恢复完整的URL作为参数

为了更加准确,这里是一个例子。 我已经被称为 “MyFirebaseProj” 我的项目,我的域名为 “example.com”

  1. 我去console.google.com,选择 “MyFirebaseProj”,API管理器面板上,选择Credenticals> Credenticals。点击创建credenticals> API密钥。所以我得到了新的API密钥调用“MyNewLongAPI”。
  2. 我创建了一个recover-password.html密码,并具有此javascript函数https://codepen.io/hieunc229/pen/mWwVbv(此人将读取firebase网址,获取oobCode并生成新的URL)。编辑JavaScript,以便将用户重定向到新的URL。上传到我的主机(mydomain.org/recover-password.html) ```
  3. 在Firebase控制台上,身份验证>电子邮件模板>重置密码。将链接更改为<a href='http://example.com/recover-password.html?url=%LINK%'>%LINK%</a>之类的内容。然后将其保存

现在,当用户进入你找回密码页面,他们会重定向到URL火力点与新的API,它应该工作

希望它能帮助!

0

如果有人遇到同样的问题,因为我与火力地堡团队取得联系,他们正在调查这件事。目前还没有办法来帮助它。