Facebook iOS SDK Login - "Unsupported request" - ios

Issue
When we try to log in with developer or testers accounts on iOS, we get the error Unsupported Request. Our app was disabled because the tester could not login due to this error.
Scenario
It works on android
We noted that while the app was in review (activated) users successfully logged in using facebook in iOS devices. That makes us believe this is a problem only with developer and testers accounts
We also noted that when we try login with a tester account an openid item is added to the permissions granted. Before this permission is added we manage to login on web, after this token is added we get the same error on web (Unsupported request)
We already filed a bug report to Facebook and we're waiting for a response.
We're using the react-native-fbsdk-next module and this issue has some more info. We're now trying the approach suggested on this comment
Have anybody managed to solve this? It really looks like a Facebook Bug.
Edit (2021-11-24)
The approach mentioned here works partially: works when logging in through Safari but does not work when Safari is not logged in and the app is used.
We're still waiting for Facebook's response
Facebook SDK versions behavior summary
v7.0.1 (react-native-fbsdk: 2.0.0):
Works when using Safari
Does not work when using FB App
v9.0.1 (react-native-fbsdk-next: 4.2.0):
Does not work both through Safari and FB app
v12.1.0 (react-native-fbsdk-next: 6.1.1):
Does not work both through Safari and FB app
Edit (2021-11-25)
We removed Facebook integration for the iOS app because we could not keep going without Facebook login for Android users. The app was reactivated and, after that, we generated a new production build and it's working as it should
We're still waiting for Facebook's response

Related

Expo 35. Facebook Auth. Incorrect behaviour on iOS

I've set up facebook authentication on Expo 35 as described here:
https://docs.expo.io/versions/v35.0.0/sdk/facebook/
I can authenticate in both expo and standalone ios apps.
The problem is that instead of opening the facebook app,
it shows a browser window as an overlay: screenshot, screenshot
I'm not logged in to facebook in the browser. The browser prompts to open facebook app. Screenshot
Facebook app prompts to authorize access, as expected. Screenshot
But when I authorize access using the facebook app, I return back to the browser overlay, where I'm still not authenticated. Screenshot
I can manually enter my facebook creds in the browser overlay and then I'll get authenticated correctly, but this is hardly called a user-friendly experience.
How do I make my app open Facebook app directly or, at least, how do I make the facebook app authorize the browser overlay?
According to this [1] post the Facebook app login feature is now deprecated due to Apple restriction policy. Only web one will stay.
On iOS FB SDK change log [2] many login related APIs are deprecated by version 5.0.0 of the SDK and version 5.5.0 has note:
Replaced UIWebView with WKWebView as Apple will stop accepting submissions of apps that use UIWebView APIs
which implies the cause to be an Apple policy.
Source:
[1] https://forums.expo.io/t/sdk35-ios-facebook-login-doesnt-open-app/28567/3
[2] https://github.com/facebook/facebook-ios-sdk/blob/master/CHANGELOG.md

Parse Facebook Login App Must Ask For Basic Read Permission

I am building a Parse driven iOS application and am having some strange issues with Facebook login. Upon initializing my facebook permissions, I am asking for #"email" and nothing else. The login works when the user does not have the facebook iOS application installed on their device - and authenticates through safari (or another web browser). When the user DOES have the facebook iOS application installed and tries to grant permission to my app, the following error is displayed:
I have read through multiple tutorials and related stack overflow issues, and have yet to figure this one out. I tested this out with both an older version of the facebook SDK and the brand new one (3.5). Neither of those solutions appears to work. Anyone have any ideas? Thank you kindly.
Try with both #"email" and #"basic_info". This is currently documented on the Android side, but not iOS, which is weird - https://developers.facebook.com/docs/howtos/androidsdk/3.0/native-login/

Facebook auth.extendssoaccesstoken error code 10

In our Facebook app developer insights, we're seeing consistent daily errors for method auth.extendssoaccesstoken with error code 10, 'Application does not have permission for this action'. We are on the latest SDK with a near exact implementation of the current iOS integration guide. Searching Google, SO and Facebook Developers for the error and/or anything to do with extend token provided no results. Is there something I should be enabling on the Facebook app?
After further investigation into the Facebook SDK source, I believe I have a solid lead.
Some, not all, of our users are getting the this error
The previous behavior of auth.extendSSOAccessToken was depended upon the app receiving the 'offline_access' permission from the user.
The facebook-ios-sdk does not touch the 'offline_access' permission anywhere in it's code.
The application "not having permissions" for extending the access token suggests that the method still depends on the application getting the 'offline_access' permission. The only change is this now happens silently.
The Conclusion:
The app is not being granted the 'offline_access' permission in one of the many different methods of authentication. The iOS SDK attempts authentication in the following manner:
iOS Integrated Facebook Dialog
iOS Facebook App "Fast App Switch"
Login through Safari
Facebook SDK UIView Login Dialog
4 seems outdated and unlikely, and we're getting ~17% error rates which narrows it down to 1 or 3, since 2 is definitely still widely used.
Will update after further analysis.
Update 1
Using Facebook's insights and our git history, I believe the issue occurs when the user authenticates using the iOS6 Integrated Facebook Dialog (method 1). Came to the conclusion because the error appeared on Facebook Developer Insights after the iOS6 release and we released a version of the app that used SDK 3.1
Will update after testing

facebook dialog ios for login

I have followed the example of Facebook SDK for iOS (Hackbook) and it works well however whenever the person is logging in the app takes take the person to Safari or the Facebook app (if you have it installed on the device). Is there a way I can call the permission without leaving the app.
Thanks
there once was. But facebooks says that you should use SSO (single sign on) with the official facebook app. So even if you'd modify the files of the facebook-ios-sdk, it would probably not work.

iOS Facebook login stopped to work

I have native facebook app in development for few months and login worked on ios and android.
Yesterday iOS login stopped to work. Android app is able to login.
I have not changed iOS code.
I was unable to login with Facebook Native client. I have uninstalled it and I still get same page on FB website. I am redirected to following page
http://m.facebook.com/home.php?_rdr
Have someone get same problem?
Any idea what is wrong?
Thanks
Check your Facebook application ID. Mine was deleted and I've got the same problem as you have.
If you didn't change anything on your end, Facebook might have chained something with their API. Perhaps there is an issue with the OAuth or something. Have you taken a look at Facebook's developer portal to see if they have changed anything recently?
try to authenticate in a desktop browser using firebug or so and check all the http traffic and response to figure out what the problem could be

Resources