web-dev-qa-db-ja.com

Firebase Auth:これからのリクエストAndroidクライアントアプリケーションcom.xxxはブロックされます

AndroidアプリにFirebase AuthUIの標準チュートリアルを実装しています。ただし、テスト中にアプリ内からGoogleログインを使用してログインしようとすると、次の例外が発生します。

com.google.firebase.FirebaseException: An internal error has occurred. 
[ Requests from this Android client application com.xxx are blocked. ]

アプリはサインインしているように "Google SmartLock"バナーを表示しますが、その後表示されなくなり、logcatで上記のエラーが表示されます。

デバッグとリリースの両方のSHA-1証明書のフィンガープリントがFirebaseコンソールにあることを確認しました。私はそれらをこのアプリでしばらく使用してきたので、それらが正しいことを知っています。

Firebase AuthコンソールでGoogleログインとメールログインの両方を有効にしました。私は両方のメール/グーグルサインインを試みました、そして、両方のプロセスは始まりますが、同じ例外で失敗します。新しいgoogle-services.jsonファイルもダウンロードして使用しました-変更はありません。

アプリケーション名は正しいです。なぜ私をブロックしているのですか?誰かがfirebaseサポートに連絡する運がありましたか?

これがbuild.gradleのスニペットです。

api 'com.Android.support:support-v4:27.1.1'
api 'com.Android.support:appcompat-v7:27.1.1'
api 'com.Android.support.constraint:constraint-layout:1.1.2'
api 'com.google.firebase:firebase-storage:16.0.1'
api 'com.google.firebase:firebase-core:16.0.1'
api 'com.google.Android.gms:play-services-maps:15.0.1'
api 'com.google.Android.gms:play-services-location:15.0.1'
api 'com.google.Android.gms:play-services-ads:15.0.1'
api 'com.google.code.findbugs:jsr305:3.0.2'
api 'com.google.apis:google-api-services-storage:v1-rev68-1.21.0'
implementation 'com.firebaseui:firebase-ui-storage:0.6.0'
implementation 'com.firebaseui:firebase-ui-auth:4.0.0'
testImplementation 'junit:junit:4.12'

Logcat:

/com.x.x W/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@13ca6fd
/com.x.x D/FA: Logging event (FE): user_engagement(_e), Bundle[{firebase_event_Origin(_o)=auto, engagement_time_msec(_et)=12629, firebase_screen_class(_sc)=PhotoActivity, firebase_screen_id(_si)=-1316627329056180637}]
/com.x.x D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_Origin(_o)=auto, firebase_previous_class(_pc)=PhotoActivity, firebase_previous_id(_pi)=-1316627329056180637, firebase_screen_class(_sc)=KickoffActivity, firebase_screen_id(_si)=-1316627329056180636}]
/com.x.x D/FA: Connected to remote service
/com.x.x D/FA: Logging event (FE): user_engagement(_e), Bundle[{firebase_event_Origin(_o)=auto, engagement_time_msec(_et)=1312, firebase_screen_class(_sc)=KickoffActivity, firebase_screen_id(_si)=-1316627329056180636}]
/com.x.x D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_Origin(_o)=auto, firebase_previous_class(_pc)=KickoffActivity, firebase_previous_id(_pi)=-1316627329056180636, firebase_screen_class(_sc)=SingleSignInActivity, firebase_screen_id(_si)=-1316627329056180635}]
/com.x.x D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_Origin(_o)=auto, firebase_previous_class(_pc)=SingleSignInActivity, firebase_previous_id(_pi)=-1316627329056180635, firebase_screen_class(_sc)=SignInHubActivity, firebase_screen_id(_si)=-1316627329056180634}]
/com.x.x W/BiChannelGoogleApi: [FirebaseAuth: ] getGoogleApiForMethod() returned Gms: com.google.firebase.auth.api.internal.zzal@13ca6fd
/com.x.x D/FA: Logging event (FE): screen_view(_vs), Bundle[{firebase_event_Origin(_o)=auto, firebase_previous_class(_pc)=SignInHubActivity, firebase_previous_id(_pi)=-1316627329056180634, firebase_screen_class(_sc)=SingleSignInActivity, firebase_screen_id(_si)=-1316627329056180635}]
E/Volley: [23564] BasicNetwork.performRequest: Unexpected response code 403 for https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?alt=proto&key=[key]
E/Volley: [23564] BasicNetwork.performRequest: Unexpected response code 403 for https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?alt=proto&key=[key]
I/AuthChimeraService: Error description received from server: Requests from this Android client application com.x.x are blocked.

/com.x.x E/AuthUI: A sign-in error occurred.
com.google.firebase.FirebaseException: An internal error has occurred. [ Requests from this Android client application com.x.x are blocked. ]
8
pldenc44

私が使用していたGoogle Cloud APIキーはAndroidと私のパッケージ名で制限されていましたが、デバッグキーではなく、本番SHA-1証明書のフィンガープリントのみが指定されました。デバッグキーのSHA- 1つの証明書とパッケージ名。これにより、本番証明書とデバッグ証明書の両方がキーの[アプリケーションの制限]に表示され、機能しました。Firebaseによって「ブロック」されているようで、APIキーが不適切に制限されている可能性があります。

8
pldenc44

私は今日同じ問題に直面し、幸いにも問題を解決しました。なぜこれが起こったのかはまだわかりませんが、ここで私が解決するために取った手順を示します。

  1. Firebaseコンソールの設定で、すでに追加されているSHA-1署名証明書フィンガープリントを削除します。
  2. Android studioに移動し、プロジェクトをGradleファイルと同期します。
  3. SHA-1署名証明書のフィンガープリントをFirebaseコンソールの設定に再度追加します。

これがSHA-1署名証明書のフィンガープリントをFirebaseに追加する方法です: ここをクリック

5
Dipayan Ray

私のGoogle Credentials APIキー制限に関する何らかの理由で、SHA-1フィンガープリントが含まれていないことに気付きました。

APIキーを見つけるには、console.cloud.google.com/apis/credentials?project =にアクセスします。または、console.cloud.google.comに移動します->左上のハンバーガーアイコンをクリックします-> APIとサービス->認証情報

使用しているAPIキーを選択します。 -[アプリの制限]の下で[Androidアプリ]を選択します(Androidアプリを作成している場合)-[使用をAndroidアプリ」、「アイテムの追加」をクリックします-パッケージ名とSHA-1フィンガープリントを入力します

SHA-1フィンガープリントを見つける方法を知るには、 [〜#〜] link [〜#〜]

SigningReportタスクは、Gradle(右側の垂直バンド)アプリ->タスク-> Androidの下にあります。

1
Rohan Kadkol