Admin SDK 迁移指南

以下版本的 Admin SDK 中引入了一些影响兼容性的变化:

  • Java SDK 6.0.0
  • Go SDK 3.0.0

影响面较大的变化是移除了 Java Task 接口,并用 ApiFuture 接口取而代之。

此外,以下功能也发生了变化:

  • 为 Java SDK 指定授权凭据
  • 配置实时数据库日志级别
  • 使用 Go 创建自定义令牌并验证 ID 令牌

Admin Java SDK (6.0.0)

使用 ApiFuture,而不要使用 Task

已弃用的 Task 接口已被移除。如果您的应用使用了此接口,请更新您的代码,改用 ApiFutures 接口。例如:

升级前

Task<String> customToken = FirebaseAuth.getInstance()
    .createCustomToken("uid");

升级后

String customToken = FirebaseAuth.getInstance()
    .createCustomToken("uid");

// Or

ApiFuture<String> customToken = FirebaseAuth.getInstance()
    .createCustomTokenAsync("uid");

如需了解此项变化的详细说明和高级使用场景示例,请参阅使用 Admin Java SDK 执行异步操作

FirebaseCredentials 迁移到 GoogleCredentials

不再提供 FirebaseCredentialFirebaseCredentials。要为此 SDK 指定授权凭据,请改用 GoogleCredentials。例如:

升级前

FirebaseCredential credential = FirebaseCredentials.fromCertificate(stream);
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredential(credential)
    .build();

FirebaseCredential credential = FirebaseCredentials.applicationDefault();
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredential(credential)
    .build();

升级后

GoogleCredentials credentials = GoogleCredentials.fromStream(stream);
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(credentials)
    .build();

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(credentials)
    .build();

使用 SLF4J 配置日志记录功能

您无法再使用 FirebaseDatabase.setLogLevel() API。直接使用 SLF4J 即可为整个 SDK 配置日志记录功能。

此项变化意味着,现在无需更改代码即可配置日志记录功能。如需了解详情,请参阅适用于 Firebase 和 Google Cloud 的 Java 库中的日志记录功能

升级前

FirebaseDatabase.getInstance()
 .setLogLevel(Logger.Level.DEBUG);

升级后

  • slf4j-simple.jar 添加到项目类路径。
  • 为 JVM 设置 -Dorg.slf4j.simpleLogger.defaultLogLevel=debug 系统属性。
  • 要详细了解如何使用其他日志记录框架(如 Log4J 和 java.util.logging),请参阅 SLF4J 文档。

Admin Go SDK 3.0.0

auth.Client for Go 中的更改

CustomTokenCustomTokeWithClaims 方法现在可接受上下文参数,就像大多数现有的 Go API 一样。

升级前

token, err := CustomToken("uid")

token, err := CustomToken("uid", claimsMap)

result, err := VerifyIDToken(idToken)

更新后

token, err := CustomToken(context.Background(), "uid")

token, err := CustomTokenWithClaims(context.Background(), "uid", claimsMap)

result, err := VerifyIDToken(context.Background(), idToken)