【问题标题】:firebase.auth(...).fetchProvidersForEmail is not a functionfirebase.auth(...).fetchProvidersForEmail 不是函数
【发布时间】:2017-03-08 11:24:27
【问题描述】:

我正在尝试从我的nodejs 服务器应用程序调用fetchProvidersForEmail。但它给了我错误:

firebase.auth(...).fetchProvidersForEmail 不是函数

我的简单nodejssn-p 是:

firebase.auth().fetchProvidersForEmail('foo@bar.com').then(function(){
  console.log("OK");
});

我还发现节点库中有这个函数。 (Reference)

这里有什么问题?

【问题讨论】:

  • 你找到问题了吗?
  • @RezaShoja 是的,我已经添加了答案

标签: node.js firebase firebase-authentication


【解决方案1】:

我没有找到任何官方文档。但是,我发现 this thread 表明使用最新的 sdk 可以进行身份​​验证。 This thread 展示了如何做到这一点:

var clientApp = firebase.initializeApp({
  apiKey: <API_KEY>,
  authDomain: "<AUTH_DOMAIN_NAME>.firebaseapp.com",
  databaseUrl: "https://<DATABASE_NAME>.firebaseio.com"
}, 'client');

// ...
var clientAuth = clientApp.auth();   // has methods for end-user authentication and account management

【讨论】:

    【解决方案2】:

    您可能正在使用服务帐户初始化应用程序。您必须使用 apiKey 而不是 serviceAccount 对其进行初始化。当您使用 serviceAccount 进行初始化时,您可以验证 id 令牌并创建自定义令牌。对于 fetchProvidersForEmail 等客户端功能,您只需传递 apiKey 而无需服务帐户。

    【讨论】:

      猜你喜欢
      • 2018-07-13
      • 2021-02-24
      • 2018-10-13
      • 2016-09-27
      • 2018-08-17
      • 2018-07-22
      • 2019-10-23
      • 2019-12-27
      • 1970-01-01
      相关资源
      最近更新 更多