2016-05-25 28 views
2

FirebaseサーバSDKを使用して特定のパスの値を監視しようとしています。私はdocumentationを踏襲し、まだいくつかの時間が経過した後、私は次のようにログのエラーを見て開始します。正確にはまだこのエラーを私はInstallation & Setup for ServersのJavaガイドに従っGoogle Firebaseサーバの永続的接続invalid_token

com.google.firebase:firebase-server-sdk:3.0.0 

:私は、最新のリリースを使用してい

[WARN] PersistentConnection: pc_0 - Authentication failed: invalid_token (Access denied.) 

しばらくしてもまだ発生しており、再認証を試みるためにフックできるコードは何も呼び出されません。誰も似たような問題を抱えていて解決策を知っていますか?

アップデート2016年5月31日:

私はデバッグを有効にして、私は永続的な接続スレッドが実際にこれらの警告の後にその認証をリフレッシュしていることを参照してください。

私もこの情報およびさらなるテストに基づいて、この問題の範囲を絞り込むことができます。

どれ長い初期トークンの有効期限が切れた後にデータの受信を停止するトークンのリフレッシュ前にDatabaseReferenceに添付ValueEventListenerを実行しています。たとえば、アプリケーションの起動直後にリスナーがアタッチされます。

データベース参照に新しいリスナーをアタッチし、結果が得られた後にリスナーを破棄すると問題はありません。

しかし、この動作はFirebaseの "ライブデータ"の側面を凌駕します。とにかく3.0.0の時点で、アプリケーションのライフサイクルでデータを受け取るリスナーは期待できません。 Firebaseに大きなバグがあるようです。

答えて

0

問題を再現できましたInstallation & Setup for Serverの手順を実行しました。私の場合、これは新しく作成されたサービスアカウントを使用しているときに発生します。ただし、既存のサービスアカウント、たとえばCompute Engineのデフォルトサービスアカウントを使用している場合は、ログメッセージは表示されません。

新しく作成したサービスアカウントと既存のサービスアカウントの唯一の違いは、新しいアカウントがIAMページのエディタメンバーではないことです。 新しいアカウントをIAMページのエディタとして追加しようとすると、エラーが発生します。

+0

ありがとうございますが、私のサービスユーザーにはすでにエディタの役割があります。問題が私のアクセストークンがリフレッシュされ、永続的な接続スレッドがトークンの更新を適切に処理していないということに関連しているようです。 – Scott

+0

@Scott正しいシナリオで答えを更新しました。 –

+0

まだ問題はないが、ありがとう。私が言及したように、私のサービスユーザ_does_はエディタの役割を持っています。私は最近の調査結果を反映するために少し質問を更新しました。 – Scott

1

更新:この問題を解決する3.0.1 SDKをリリースしました。

3.0.0 Firebase Java Server SDKでFirebaseデータベースのバックエンドに再認証できないバグが発見されました。これは、プロセスが1時間より長く実行され、アクティブなリスナーがない(特に1時間のマークで)場合に発生します。コンソールログに繰り返し表示される[WARN] PersistentConnection: pc_0 - Authentication failed: invalid_token (Access denied.)エラーが表示されます。

新しいバージョン(firebase-server-sdk 3.0.1)がまもなくリリースされる予定です。これまでは、アクティブなリスナー(たとえば、addValueEventListener()をダミーの場所に置いておくこと)を回避することができます。

ご迷惑をおかけして申し訳ありません。できるだけ早く修正プログラムを入手しようとします。

+0

関連する問題がない可能性がありますのでご注意ください。参照するダミーリスナーは、再認証後にデータを受信しません。私の質問には、このユースケースが具体的に述べられています。 – Scott

+0

ええ、それは申し訳ありません。しかし、Googleグループで議論されているように、私はそれがまだ同じ根本的な問題だと思う。この修正で3.0.1をリリースしました。それでも問題がある場合は、試してみてください([email protected])。ありがとう! –

+1

いいえ、ここで述べたバグはまだ3.0.1にあります。 – Scott

関連する問題