Verify Firebase Token at Google App Engine

本秂侑毒 提交于 2019-11-27 08:19:55

问题


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).

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.



来源:https://stackoverflow.com/questions/41446582/verify-firebase-token-at-google-app-engine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!