3

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

Google App Engine では、次のコードを使用して Firebase Token を検証します。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();

タスクの実行は Google App Engine バックエンド タスクで実行されていますが、残念ながらこのバックエンド インスタンスはシャットダウンされないため、無料のクォータ制限を超えています。トークンの検証後にバックエンド インスタンスをシャットダウンする方法を教えてください。

4

1 に答える 1

1

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

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

お手数おかけして申し訳ありません!メソッドをverifyIdToken()できるだけ早く修正します。それまでの間、バージョン4.0.4が機能するはずです。

アップデート

メソッドに関する 2 つ目の小さな問題は、バージョン 4.1.1 の Admin Java SDK でverifyIdToken()修正されました。

于 2017-01-27T18:47:18.223 に答える