'Facebook login was disabled and now it throws errors

We have Android and iOS apps with integrated Facebook login. Recently Facebook disabled our app because "During Login, your app is crashing or hanging excessively". The problem however is not in our app's source code, but somewhere in our FB app configuration. When we try to log in with a Facebook account that is a developer or administrator in our FB app, we get an error from FB 'Unsupported request'. When we try to log in with any other Facebook account, including Facebook test accounts, we get an error "App Not Setup: This app is still in development mode....". See attached screenshots.

Note that our app was live and everything was working fine for years, until recently it was disabled.

Does anyone have an idea what might be the issue?

screenshot unsupported request

screenshto app not setup

One thing that I notice in our FB app configuration in the Permissions and Features section, is that the 'email' and 'public profile' permissions have 'Standard Access'. When I try to change it to 'Advance Access', it asks me for my password, but then the access level doesn't change. It stays 'Standard Access'.

screenshot FB app settings

We are using very up-to-date SDK versions:

screenshot API versions



Solution 1:[1]

In our case, any communication with facebook didn't help. They can't respond to technical level and explain why and what is the error message from their part.

So the solution for us was to make a new Facebook App and set up our apps to use this new FB App ID and release them.

  • (this means that all the users that have our app will need eventually to go update so they can use the facebook login)

This way Android and iOS worked with latests SDK 12+

Solution 2:[2]

We solved this by using older versions of the Facebook SDK. For Android we switched back to version 11.3.0. So in build.gradle we have:

implementation 'com.facebook.android:facebook-android-sdk:11.3.0'.

For iOS we had to switch way back to version 8.2.0. So in Podfile we have:

pod 'FBSDKCoreKit' , '~> 8.2.0' pod 'FBSDKLoginKit', '~> 8.2.0'

It appeared that the problem is in the "openId" permission, which the Facebook SDK is adding silently behind the scene to the list of requested permission. On iOS we found that this is done in class FBSDKLoginManager.m in method -(NSDictionary *) logInParametersWithConfiguration: (FBSDKLoginConfiguration FBSDKServerConfiguration)

We managed to test where the problem comes from on an Android device, which doesn't have the Facebook App installed. In that case, when you try to login, the Facebook SDK opens a browser and the URL can be inspected. We saw the "openId" parameter in the URL path parameters. With that parameter in the URL we had the error message from Facebook. Then we removed the "openId" parameter from the URL and resubmitted the request and it succeeded. That gave us the clue to search where in the Facebook SDK this "openId" parameter gets added to the request and in which version of the SDK it first appears.

Solution 3:[3]

happen to me too During Login, your app is crashing or hanging excessively and now it get disabled by facebook and we still can't figure it out what is the source of problems

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 R3dHatCat
Solution 2 hmitkov
Solution 3 xhadix