From a0a6e806217693fc62a4cf432354c76e719aa140 Mon Sep 17 00:00:00 2001 From: Sebastian Schmidt Date: Thu, 16 Jul 2020 13:23:31 -0700 Subject: [PATCH] fix: use test credentials when connecting to the Emulator from the Firebase Admin SDK (#296) --- .../java/com/google/cloud/firestore/FirestoreOptions.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/FirestoreOptions.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/FirestoreOptions.java index 819a1cbb7..082115f74 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/FirestoreOptions.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/FirestoreOptions.java @@ -19,6 +19,7 @@ import com.google.api.core.ApiFunction; import com.google.api.core.InternalApi; import com.google.api.gax.core.CredentialsProvider; +import com.google.api.gax.core.FixedCredentialsProvider; import com.google.api.gax.core.GoogleCredentialsProvider; import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.api.gax.rpc.TransportChannelProvider; @@ -255,7 +256,9 @@ public ManagedChannelBuilder apply(ManagedChannelBuilder input) { } }) .build()); - this.setCredentials(new FakeCredentials()); + // Use a `CredentialProvider` to match the Firebase Admin SDK, which prevents the Admin SDK + // from overwriting the Emulator credentials. + this.setCredentialsProvider(FixedCredentialsProvider.create(new FakeCredentials())); } return new FirestoreOptions(this);