java - 在服务器上使用 firebase Java 库,无需身份验证过程

标签 java authentication firebase

我正在操作的服务器用于生成 Firebase token 并从 Firebase 读取和写入值,我使用带有不同类型 token (具有不同 UID 前缀)的 REST API。

但是,由于服务器中添加了许多功能,因此我决定使用 Firebase java 库,现在迁移以前为 REST API 编写的代码。

问题是,如何使用带有 token 的 Firebase Java 库来省略身份验证过程?

身份验证过程异步运行,因此它可以应用于客户端应用程序,但不能应用于服务器。

如果认证失败怎么办?或者如果需要太多时间怎么办?

之前的代码只是对每个请求使用身份验证 token ,如下所示:

https://abcd.firebaseio.com/ns/blahblah/event?auth=token

所以它不需要任何身份验证过程。

希望你能理解我蹩脚的英语。 谢谢!

最佳答案

根据Firebase documentation for authentication server-side processes ,共有三种认证方式:

  1. Using a Firebase app secret
  2. Using a secure JWT with the optional admin claim set to true
  3. Using a secure JWT designed to give access to only the pieces of data a server needs to touch

您当前正在从身份验证服务器获取安全 JWT,因此您正在使用选项 2 或 3。

另一种方法是使用 Firebase 应用程序的所谓应用程序 key 。您可以在应用程序的仪表板中找到该值,它可以作为当前 token 的直接替代品。

但是我强烈建议不要采用这种方法。珍妮在这里写了一份非常详尽的反对理由 list :https://stackoverflow.com/a/29240941

关于java - 在服务器上使用 firebase Java 库,无需身份验证过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31042347/

相关文章:

java - 对 MongoDB 的 java 驱动程序中的重复唯一键错误使用react

java - 将不同的对象存储在从同一抽象类扩展的容器中

firebase - 向现有用户发送验证电子邮件

typescript - 如何使用显示/隐藏密码在 ionic 2 中创建登录名

android - 手动启动 Firebase 服务

android - 从 Firebase DataSnapshot 中提取单个值

json - 您将如何在 Firebase 中为用户和 friend 的集合建模?

java - 在 GridPane 上绘制的线不会显示

java - 如何使用 BufferedImage 对象创建 1 位位图?

authentication - ProgrammaticLogin 在 arquillian 测试中不起作用