Firebase - 在 Node.js 服务器上创建用户

2024-01-01

我们有一个使用 Firebase v2 的大型 SPA。我们想升级到新的 API,但遇到以下问题:

由于应用程序相当大,我们开发了许多集成测试,对于这些测试,我们总是需要重置数据库并将其初始化为某些用户存在的状态。然而,我们发现确实不再有在服务器上创建用户这样的事情了(Firebase createUserWithEmailAndPassword 方法在node.js 中未定义 https://stackoverflow.com/questions/38015117/firebase-createuserwithemailandpassword-method-is-undefined-in-node-js),我们非常不确定如何升级 API,同时又能够从服务器重置和初始化数据库。

此外,我们被迫进行此升级,因为我们注意到 Firebase v2 仍在使用已弃用的 Facebook OAuth Graph API v2.0,并且不建议在 2016 年 8 月 8 日之后使用。我们知道 Firebase v2 可能不会升级对 Graph API 的调用,因为 v2 是旧版本。然而,这让我们目前陷入困境。

关于这个话题有什么帮助吗?


从 Firebase v3.3.0 开始,您可以使用 Node 创建用户帐户,但文档并没有很好地介绍如何公开这些方法。

为了使用用户管理方法,您需要使用 Web API 密钥(而不是设置指南中介绍的服务帐户配置)在节点中初始化应用程序。

// The Usual Service Account Init
// This will not contain any user management methods on firebase.auth()
this.app = firebase.initializeApp(
  { 
    serviceAccount: 'path/to/serviceaccount/file.json',
    databaseURL: 'https://mydbfb.firebaseio.com'
  },
  'MyAppName');

// Web Client Init in Node.js
// firebase.auth() will now contain user management methods
this.app = firebase.initializeApp(
  {
    "apiKey": "my-api-key",
    "authDomain": "somedomain.firebaseapp.com",
    "databaseURL": "https://mydbfb.firebaseio.com",
    "storageBucket": "myfbdb.appspot.com",
    "messagingSenderId": "SomeId"
  },
  'MyAppName');

您可以从 Web 设置指南中的 Firebase 控制台获取客户端 api 密钥https://firebase.google.com/docs/web/setup https://firebase.google.com/docs/web/setup

这是我能找到的唯一参考资料,明确提到需要使用 api 密钥进行初始化才能使其正常工作。https://groups.google.com/forum/#!msg/firebase-talk/_6Rhro3zBbk/u8hB1oVRCgAJ https://groups.google.com/forum/#!msg/firebase-talk/_6Rhro3zBbk/u8hB1oVRCgAJ

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase - 在 Node.js 服务器上创建用户 的相关文章

随机推荐

  • 在 Yii 框架中,如何组合列并在下拉列表中显示为显示字符串

    我有一个dropDownList在我看来 它的人口来自clients表 该表包含类似的列first name last name id等等 现在我想展示first name and last name作为显示文本和id作为下拉列表中的值 我
  • 使用 jquery 返回上一页而不刷新,而不是 angularjs

    我正在本地运行一个脚本 在其中一个函数中 它会转到不同的页面 一旦完成 我希望它返回到上一页并继续在本地运行脚本 有没有办法在不刷新页面的情况下返回上一页 我用了parent history back 这将返回到上一页 但会刷新页面 以便我
  • Javadoc:package.html 或 package-info.java

    当尝试创建包级 Javadoc 注释时 首选方法是什么 你做什么工作 包信息 java Pros Newer Cons 滥用类 类用于代码 而不仅仅是注释 包 html Pros HTML 扩展意味着它不是代码 IDE 文本编辑器中的语法突
  • angularjs 一个元素上有两个指令

    我有两个指令 Generated by CoffeeScript 1 6 3 app directive focusMe function return scope focus focusMe link function scope ele
  • 获取 JPanel 上单击位置的颜色?

    我只想要一种在单击的像素为白色时激活的方法 我将如何实施这个 试图寻找一种返回坐标颜色的方法 但我找不到 依靠 如果你有一个缓冲图像 http java sun com j2se 1 4 2 docs api java awt image
  • 在 MVC 中上传文件时,字符串或二进制数据会被截断

    该文件只有 14kb 14 000 字节 我读过varbinary max 列类型 这就是我正在使用的 仅支持 8 000 字节 那是对的吗 如何将我的文件上传到数据库 if file ContentLength lt 3 1048576
  • 如何从非英语值创建一个 slug?

    我有模型Author有字段名字 姓氏 我想添加另一个字段 slug 它将包含字段串联的段 但是 这些字段包含非英语字符 我需要一个英语符号来创建链接模板 本地主机 作者 str slug 我该如何实施 要解决这个问题 您可以使用unidec
  • Docker - 无法在卷内的容器之间共享数据(docker-compose 3)

    我现在有一些用于 Web 应用程序的容器 nginx gunicorn postgres 和节点 用于从源代码构建静态文件和 React 服务器端渲染 在节点容器的 Dockerfile 中 我有两个步骤 构建和运行 Dockerfile
  • 使用 Rails 导入 gmail/yahoo/hotmail/aol 地址簿

    我想从 gmail hotmail yahoo 和 aol 地址簿中导入用户的地址簿 我正在 Rails 中寻找可以帮助我做到这一点的 gem 插件 任何帮助表示赞赏 Thanks 我一直在努力Contacts http github co
  • 从 Firebase 获取数据

    我正在尝试从 Firebase 获取数据 我尝试过这样的操作 FIREBASE REF childByAppendingPath tasks observeEventType Value withBlock snapshot gt Void
  • 如何让表头透明?

    我花了很多时间来解决这个问题 但仍然不明白我做错了什么 我需要我的标题是透明的 没有背景 举个例子 但我不明白透明度是如何工作的 我已经尝试了一切 但它总是白色的 透明度仅适用于文本 帮帮忙 我真的很期待 body margin 0 fon
  • 弹性容器内的居中元素正在增长并溢出到顶部之外[重复]

    这个问题在这里已经有答案了 我一定忘记了垂直和水平居中弹性盒的一些基本知识 容器位于具有垂直滚动的父级内 当容器变得太高时 它会超出父级顶部 从而剪切内容 底部保持原状 尝试调整视图的高度或添加更多线条以查看其实际效果 body html
  • 无法从 Microsoft Dynamics CRM WebAPI 调用 BulkDelete 操作

    我正在尝试致电批量删除 操作 https learn microsoft com en us previous versions dynamicscrm 2016 developers guide mt491158 v 3Dcrm 8 本地
  • 更改分支点

    我有一个分支叫feature它有一些提交 分支及其提交仍然位于我的机器本地 还没有push编辑到公共存储库 该图看起来像 A B C D E F G master P Q R feature 现在我意识到我应该建立分支feature脱离先前
  • 在测试中覆盖调试模块

    我有一个 Gradle 应用程序 其项目结构类似于杰克 沃顿的 u2020 https github com jakewharton u2020 src androidTest debug main release 在我的应用程序类中 我构
  • Alamofire 使用 PUT 上传图像

    我目前正在尝试使用预先签名的网址将图像上传到亚马逊 它的工作方式是 我发出 GET 请求来获取预签名的 URL 然后发出 PUT 请求以使用 GET 请求返回的 url 上传图像 这两条规则是 Content Type 必须是 image
  • 用于压缩的 WCF 自定义绑定

    遵循样本压缩 http msdn microsoft com en us library ms751458 aspx由微软 我已将编码器 编码器工厂和绑定元素添加到我的解决方案中 与他们的示例的不同之处在于 我们不通过配置文件 要求 注册端
  • 将 MVC3 应用程序发布到 IIS 错误 - Web 服务器配置为不列出此目录的内容

    我将网站发布到 C inetpub wwwroot Sem App 并创建了一个物理路径为 C inetpub wwwroot Sem App 和端口 84 的网站 当我在http localhost 84 我收到以下错误 HTTP Err
  • 隐藏 MasterDetailPage 上的导航栏

    我有一个 MasterDetailPage 包含以下构造函数 public MainPage NavigationPage SetHasNavigationBar this false NavigationPage SetHasBackBu
  • Firebase - 在 Node.js 服务器上创建用户

    我们有一个使用 Firebase v2 的大型 SPA 我们想升级到新的 API 但遇到以下问题 由于应用程序相当大 我们开发了许多集成测试 对于这些测试 我们总是需要重置数据库并将其初始化为某些用户存在的状态 然而 我们发现确实不再有在服