I am using Firebase-UI authentication using e-mail, facebook, and google providers. E-mail and Google sign in work fine but Facebook sign in is not working.
My facebook and firebase dependencies:
//Firebase
implementation 'com.google.firebase:firebase-core:16.0.1'
//Cloud Firestore
implementation 'com.google.firebase:firebase-firestore:17.0.2'
//Firebase Authentication
implementation 'com.google.firebase:firebase-auth:16.0.2'
//Firebase built-in Auth UI
implementation 'com.firebaseui:firebase-ui-auth:4.0.0'
//Firebase Storage
implementation 'com.google.firebase:firebase-storage:16.0.1'
// Required only if Facebook login support is required
implementation 'com.facebook.android:facebook-android-sdk:4.34.0'
//Google sign-in with Firebase Authentication
implementation 'com.google.android.gms:play-services-auth:15.0.1'
The necessary facebook strings:
<string name="facebook_application_id" translatable="false">#######</string>
<string name="facebook_login_protocol_scheme" translatable="false">fb#######</string>
In my activity I have:
void signIn() {
AuthUI.IdpConfig facebookIdpConfig = new AuthUI.IdpConfig.FacebookBuilder()
.setPermissions(Arrays.asList("user_friends"))
.build();
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build(),
facebookIdpConfig);
startActivityForResult(
AuthUI.getInstance().createSignInIntentBuilder()
.setTheme(AuthUI.getDefaultTheme())
.setLogo(R.drawable.com_facebook_button_login_logo)
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN);
}
Before clicking Facebook sign in button: Sign in buttons
After clicking Facebook sign in button: Error page after clicking button
Error log after closing the Facebook error page:
07-16 14:23:43.480 27301-27301/com.example E/AuthUI: A sign-in error occurred.
com.firebase.ui.auth.FirebaseUiException: Provider error
at com.firebase.ui.auth.data.remote.FacebookSignInHandler$Callback.onError(FacebookSignInHandler.java:117)
at com.firebase.ui.auth.data.remote.FacebookSignInHandler$Callback.onCancel(FacebookSignInHandler.java:112)
at com.facebook.login.LoginManager.finishLogin(LoginManager.java:654)
at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:245)
at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:174)
at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:95)
at com.firebase.ui.auth.data.remote.FacebookSignInHandler.onActivityResult(FacebookSignInHandler.java:87)
at com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity.onActivityResult(AuthMethodPickerActivity.java:225)
at android.app.Activity.dispatchActivityResult(Activity.java:5563)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3496)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3543)
at android.app.ActivityThread.access$1200(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
Caused by: null
at com.firebase.ui.auth.data.remote.FacebookSignInHandler$Callback.onCancel(FacebookSignInHandler.java:112)
at com.facebook.login.LoginManager.finishLogin(LoginManager.java:654)
at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:245)
at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:174)
at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:95)
at com.firebase.ui.auth.data.remote.FacebookSignInHandler.onActivityResult(FacebookSignInHandler.java:87)
at com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity.onActivityResult(AuthMethodPickerActivity.java:225)
at android.app.Activity.dispatchActivityResult(Activity.java:5563)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3496)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3543)
at android.app.ActivityThread.access$1200(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
07-16 14:23:43.485 27301-27301/com.gamifymykid.gamifymykid E/AuthUI: A sign-in error occurred.
com.firebase.ui.auth.FirebaseUiException: Provider error
at com.firebase.ui.auth.data.remote.FacebookSignInHandler$Callback.onError(FacebookSignInHandler.java:117)
at com.firebase.ui.auth.data.remote.FacebookSignInHandler$Callback.onCancel(FacebookSignInHandler.java:112)
at com.facebook.login.LoginManager.finishLogin(LoginManager.java:654)
at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:245)
at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:174)
at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:95)
at com.firebase.ui.auth.data.remote.FacebookSignInHandler.onActivityResult(FacebookSignInHandler.java:87)
at com.firebase.ui.auth.ui.idp.AuthMethodPickerActivity.onActivityResult(AuthMethodPickerActivity.java:225)
at android.app.Activity.dispatchActivityResult(Activity.java:5563)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3496)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3543)
at android.app.ActivityThread.access$1200(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
I have searched other questions who have had problems similar to mine but their answers do not solve my problem.
Thank you in advance!