Fault 3033 for Android Facebook Login Unable to register user. User already exists

I just started seeing this error response with existing users trying to login via Facebook. First time login works, but logging in again gives me:

BackendlessFault{ code: ‘3033’, message: ‘Unable to register user. User already exists.’, detail: ‘Unable to register user. User already exists.’, extendedData: ‘{}’ }

This was working previously.

App Id is D505191E-E907-8CA1-FF4D-508A8FE81300

Relevant login code is:

LoginManager.getInstance().registerCallback(mCallbackManager,
                new FacebookCallback<LoginResult>() {
                    @Override
                    public void onSuccess(LoginResult loginResult) {
                        final Map<String, String> facebookFieldMappings = new HashMap<String, String>();
                        facebookFieldMappings.put( "email", "email" );
                        facebookFieldMappings.put( "name", "name" );

                        Backendless.UserService.loginWithFacebookSdk(loginResult.getAccessToken().getToken(), facebookFieldMappings, new AsyncCallback<BackendlessUser>() {
                            @Override
                            public void handleResponse(BackendlessUser user) {
                                Log.d("DEBUG", "Login with facebook user "+user.getEmail()+" logged in");
                            }

                            @Override
                            public void handleFault(BackendlessFault fault) {
                                Toast.makeText(LoginActivity.this, "There was an issue logging in with Facebook", Toast.LENGTH_LONG).show();
                                Log.d("DEBUG", "Fault logging in with Facebook: "+fault.toString());
                            }
                        }, true);
                    }

                    @Override
                    public void onCancel() {
                        Log.d("DEBUG", "Facebook login cancelled");
                    }

                    @Override
                    public void onError(FacebookException exception) {
                        Log.d("DEBUG", "Facebook login exception: "+exception.toString());
                    }
                });

        List<String> permissions = new ArrayList<String>();
        permissions.add( "email" );
        LoginManager.getInstance().logIn(this, permissions);

I’ve also tried using the old deprecated methods that worked in 3.x and still got the same error.

Hi. We’ll try with your code and post here the results.

I’ve tried and for me all works fine.
Could you please send the whole project that contains only your login logic.
You can send it to support@backendless.com or upload it to the network storage.

Hi, @Coaach_App

This error can be thrown when column marked as “Identity” (it is email be default) already contains the same value as the user that’s trying to login/register. For example if you have logged in with email and password and then try to login with the Facebook account that has the same email in Facebook profile, you can get this error. Try to delete user record from database and then login with facebook again.

Best Regards,
Maksym