FirebaseUIAuthライブラリを統合しようとしています。 GoogleサインインとEメールサインインは正常に機能していますが、Facebookログインの設定に問題があります。これは私のコードです:
user = firebaseAuth.getCurrentUser();
if (user != null) {
startMainActivity();
finish();
} else {
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(!BuildConfig.DEBUG)
.setProviders(Arrays.asList(new AuthUI.IdpConfig.Builder(AuthUI.EMAIL_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build(),
new AuthUI.IdpConfig.Builder(AuthUI.FACEBOOK_PROVIDER).build()))
.build(),
RC_SIGN_IN);
}
Facebookボタンをクリックすると、すべてのログインプロセスが正常に実行されます(Facebookプロファイルでは、アプリリストにアプリが表示されます)が、firebaseがユーザーを作成せず、ログインページでスタックします。 Androidモニターに次の行があります(アプリはクラッシュしません):
E/CredentialSignInHandler: Unexpected exception when signing in with credential
com.google.firebase.FirebaseException: An internal error has occurred. [ Unsuccessful debug_token response from Facebook ]
at com.google.Android.gms.internal.zzblv.zzce(Unknown Source)
at com.google.Android.gms.internal.zzbls$zzj.zza(Unknown Source)
at com.google.Android.gms.internal.zzbmd.zzcf(Unknown Source)
at com.google.Android.gms.internal.zzbmd$zza.onFailure(Unknown Source)
at com.google.Android.gms.internal.zzbly$zza.onTransact(Unknown Source)
at Android.os.Binder.execTransact(Binder.Java:453)
Firebaseに表示されるエラーは、コードやエラーメッセージが表示されない「Facebookからのdebug_token応答が失敗しました」のみです...どうすればよいかわかりません。
助けてくれてありがとう!
同じ問題があります。FirebaseでFacebook認証が有効になっていますが、作業中のアプリケーションIDとは異なる別のアプリケーションIDを指しています。
そのため、「firebase console/authentication/sign in method/facebook」のアプリケーションIDがFacebookコンソールのアプリケーションIDと同じであることを確認する必要があります。
私はそれが役立つことを願って、理解するのに数時間かかりました。
Facebook開発者ページ に移動し、ドロップダウンメニューからアプリを選択します。次に、設定->詳細に移動し、App Secretがクライアントに埋め込まれていますか?トグルボタンからいいえを選択して完了します。オプションを見つけるのが難しい場合は、この画像リンクを参照してください。 Facebookログインエラー:Facebookからのdebug_token応答の失敗
Facebook開発者ページの画面右上にあるアプリシークレットを再確認したところ、同じ問題が発生して解決しました。 Firebase Authentication(Facebookプロバイダー)のアプリシークレットがFacebook開発者ページのアプリシークレットと同じであることを確認してください。
Firebaseにはデフォルトで独自のIDがあるため、Facebook開発者ページのアプリシークレットとアプリID、およびFirebase認証(Facebookプロバイダー)の両方を確認する必要があります。
「はい」から「これはネイティブアプリですか、それともデスクトップアプリですか」というスイッチを切り替えていませんでした。次に、Firebaseにアプリのシークレットを再入力し、FacebookアプリにOAuthリダイレクトURIを追加したことを確認しました。
私は同じ問題を抱えていて、何時間もそれを理解することができませんでした。 Firebase認証設定(Facebook)内のApp-IDが間違っている可能性があります。私の場合、FacebookのApp-IDではなく、アプリのバンドル名を入力していました。それが役に立てば幸い。
私にとっては、アプリシークレットをリセットすることでうまくいきました。 Settings --> Basic
に移動し、'Reset'
の横にある'App Secret'
をクリックします