3
votes

I am developing an Application at Google App Engine. I am using Cloud Endpoints for the communication between an Android App at my Backend at Google App Engine. The Android client uses Firebase Authentication and sends with every call the Firebase token the Cloud Endpoints.

At Google App Engine I use the following code to verify the Firebase Token. I am using the Firebase Admin SDK 4.0.3

Task<FirebaseToken> authTask = FirebaseAuth.getInstance().verifyIdToken(token);

try {
    Tasks.await(authTask);
} catch (ExecutionException | InterruptedException e ) {
    log.severe(e.getMessage());
}
FirebaseToken decodedToken = authTask.getResult();

The execution of the Task is running at a Google App Engine Backend Task but unfortunately this Backend instance does not shutdown and so I exceed my free quota limit. So can someone give me a hint how I can shutdown the Backend Instance after Token verfication?

1
This is a known issue with the Firebase Admin Java SDK and is actually a difficult bug for us to fix. The only workaround for the time being is to use a more recent version of the SDK (>= 4.0.4) which supports using this method in frontend instances (that shutdown cleanly after processing).jwngr
thanks, that really worked for me. But I tried first version 4.1.0 and it died at my locale dev server. The call to Task.await(authTask) never comes back but it worked with version 4.0.4. So now I can use only the Frontend InstancesMichael Meyer
Yikes, yeah it looks like we have a bug in the 4.1.0 release for verifyIdToken(). Sorry about that! We will get it fixed ASAP. In the meantime, 4.0.4 should work for you.jwngr

1 Answers

1
votes

This is a known issue with the Firebase Admin Java SDK and is actually a difficult bug for us to fix. The only workaround for the time being is to use a more recent version of the SDK (>= 4.0.4) which supports using this method in frontend instances (that shutdown cleanly after processing).

Unfortunately, in a separate issue, the verifyIdToken() method is broken in the 4.1.0 release due to a bad dependency. So, you'll have to use either 4.0.4 or >= 4.1.1.

Sorry for all the troubles! We will get the verifyIdToken() method fixed ASAP. In the meantime, version 4.0.4 should work for you.

Update

The second, smaller issue with the verifyIdToken() method was fixed in version 4.1.1 of the Admin Java SDK.