2

Google App Engineでアプリケーションを開発しています。私は、Google App EngineのバックエンドでAndroid App間の通信にCloud Endpointsを使用しています。 AndroidクライアントはFirebase認証を使用し、すべての呼び出しでFirebaseトークンにCloud Endpointsを送信します。Google App EngineでのFirebaseトークンの確認

Google App Engineでは、次のコードを使用してFirebaseトークンを確認します。私は、タスクの実行がGoogle App Engineのバックエンドタスクで実行されているFirebase管理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(); 

を使用していますが、残念ながら、このバックエンドインスタンスがシャットダウンしないので、私は私の自由なクォータ制限を超えています。だから誰か私にヒントトークンの検証後にバックエンドインスタンスをシャットダウンする方法を教えてもらえますか?

+1

これはFirebase Admin Java SDKの既知の問題であり、実際に修正するのは困難なバグです。当面の唯一の回避策は、このメソッドをフロントエンドインスタンスで使用することをサポートする最新バージョンのSDK(> = 4.0.4以上)を使用することです(処理後は正常にシャットダウンする)。 – jwngr

+0

本当に私のために働いてくれてありがとう。しかし、最初のバージョン4.1.0を試してみましたが、私のロケール開発サーバーで亡くなりました。 Task.await(authTask)への呼び出しは戻ってこないが、バージョン4.0.4で動作した。だから今私はフロントエンドインスタンスだけを使用することができます –

+0

Yikes、ええ、 'verifyIdToken()'の4.1.0リリースにバグがあるようです。それについて申し訳ありません!私たちはできるだけ早くそれを解決します。それまでの間は、4.0.4がうまくいくはずです。 – jwngr

答えて

0

これはFirebase Admin Java SDKの既知の問題で、実際に修正するのは困難なバグです。当面の唯一の回避策は、このメソッドをフロントエンドインスタンスで使用することをサポートする最新バージョンのSDK(> = 4.0.4)を使用することです(処理後は完全にシャットダウンする)。

残念ながら、別の問題では、メソッドは、悪い依存関係のために4.1.0リリースで破損しています。したがって、4.0.4または> = 4.1.1のいずれかを使用する必要があります。

すべてのトラブルで申し訳ありません! verifyIdToken()メソッドはできるだけ早く固定されます。その間、バージョン4.0.4が有効です。

更新

verifyIdToken()方法と第二の、より小さな問題がversion 4.1.1 of the Admin Java SDKで固定しました。