Facebook mobile web OAuth issue - facebook

I'm seeing a problem requesting permissions with Facebook connect on iPhones. Everything had been working fine and then it just started out of nowhere. I can't seem to sort it out, so I posted it here to see if anyone's experiencing the same issues? I'm trying to log users into a mobile website and here's what I'm seeing:
On Android, everything is A-OK, as are regular web browsers.
On the iPhone 3, users get the login page ok, but are not redirected to the request permissions page, just to mobile facebook. If they leave and come back and click on the login button again, they are taken to the request permissions page, and after they allow/don't allow, they are taken back to our site. This is also the same for iPad users
On the iPhone4, users get the login page ok, but are not redirected to the request permissions page, just to mobile facebook. If they leave and come back, they are taken to the mobile facebook site and never are prompted for their permissions.
Highlights:
Everything was fine 3 weeks ago
Everything is still fine on Android using the very same FBConnect url, but it blows on iOS
What happens on iPhone 3 is different that what happens on iPhone 4
I've tried doing this with 3 different urls, but StackOverflow will only let me put 2 in here because I'm a new user:
http://www.facebook.com/dialog/oauth?client_id=[OUR_CLIENT_ID]&redirect_uri=[OUR_URL]&display=wap&scope=email,user_location,read_friendlists,publish_stream,offline_access
http://m.facebook.com/dialog/oauth?client_id=[OUR_CLIENT_ID]&redirect_uri=[OUR_URL]&perms=email,user_location,read_friendlists,publish_stream,offline_access";
The other URL was similar to these, but used the graph API
Anyone have any ideas?
Thanks!

Facebook has since removed the WAP interface and replaced that with Javascript SDK interfaces for Android and iOS, and now normal wap enabled phones have been shut out.

Related

Facebook APP is not available in the iOS Facebook-APP

Excuse me for the confusing title. We have programmed App which runs with in the Facebook. It can be accessed over the desktop/notebook browsers. However it is not accessible/available if I login to the Facebook app on my iPhone and go to the APP list. Following scenarios does not work.
1) If somebody sends me the invitation to use the APP using Facebook message. If I now login to the Facebook-app on my iPhone and go to the messages and click on the invitation, I see the error. "Page not found". This works perfectly if I login to Facebook using browser (on laptop or iPhone)
2) On my iPhone, in the Facebook APP, if go to list of my APPs then our APP is not available in that list. (Other apps like candy crush and so on can be found)
Are we missing some configuration?
Thanks in advance.
Best Regards
You are talking about a canvas app?
Those are not available on mobile, and never have been. But you can specify a Mobile Site URL in your canvas settings – users on mobile devices, that follow a link to your canvas app somewhere will then automatically be redirected to that external address.
Little cave-at: This has been disabled on a larger scale by Facebook recently, because some people where using it to redirect users to malware sites. Therefor now you have to get your app “white-listed” before this will work. Check this bug report, the FB engineer mentions are form where you can request this: https://developers.facebook.com/bugs/1051463851558493/

Facebook OAuth dialog redirects to m.facebook.com and crashes with 500 error

I am using Facebook's OAuth dialog to log in people in two of my websites.
Yesterday morning I discovered that the oauth dialog is failing for one of those two website, only when I try to connect with a mobile device (iphone and android).
The way I call the oauth dialog is identical in both websites, except from the App ID of course and the redirect url. Basically I redirect the user to:
https://www.facebook.com/dialog/oauth?client_id=xxxxxxxxxx&redirect_uri=http%3A%2F%2Fwww.xxxxx.xxx%2Ffbresult&response_type=code&scope=email
Normally the user is prompted for logging in with facebook and give permission to the app, and the be redirected back to my website.
This works perfectly fine on both sites if I use it from the Desktop.
When I call this url from my touch devices (iphone or android, they both fail) I am forcely redirected to the mobile version of the dialog (https://m.facebook.com/dialog/oauth?etc,etc).
However this dialog from m.facebook.com dies with 500 internal server error for one of the website. (so: one works perfectly with mobile oauth dialog, the other does not).
I tried to open the m.facebook.com/etc/etc from my desktop pc and I could indeed see the 500 internal server error response.
Should I try to login from the desktop (which does not redirect to mobile version) then the authentication procedure works perfectly.
At first I thought this might be a facebook bug and that it would have been fixed within few hours at most, but it's been now for at least 2 days and still does not work.
I think I could really appreciate some advice at this point. Thank you all in advance.

"Either this application has not configured its Mobile Web URL or the URL could not be verified as owned by the application" error

We have a post on a FB wall. It points to http://tinyurl.com/{something}.
When the link is clicked in a non-mobile web browser, it works fine: TinyURL redirects the user to our web site using the appropriate URI including a special querystring.
When the link is clicked in a mobile web browser on my Android, it fails with the error in the title of this question.
When the link is clicked in the FB native app for iPad and in Safari on the iPad, it works fine.
I have tried adding our URL to the Mobile Web setting in the Basic Settings tab of the FB App configuration. That results in all links pointing directly to the root of our web site with a funky set of parameters in a querystring -- in other words, it doesn't follow the TinyURL in that particular case. The funky parameters include "refid", "ref", and "ft".
So primarily my question is: Why, when I specify the URL in the Mobile Web setting as described in the previous paragraph, does it redirect to our main URL instead of the TinyURL link originally called for?
I think this is something Facebook broke very recently (perhaps even today?). When a user clicks on any links to our app from inside the Facebook native iOS app, they get this error "Either this application has not configured its Mobile Web URL or the URL could not be verified as owned by the application. Unable to redirect." We had never set a Mobile Web URL previously, and everything had been fine since we launched the app over a year ago. We sent all mobile clicks to the same URL's as desktop browsers and handled the mobile rendering server-side. We have not changed our application domain inside the App Settings or anything like that.
In the App Settings, can set a Mobile Web URL to our homepage and the link works (and the error message goes away) but that's not the desired behavior at all - it would mean that all links end up at the same Mobile Web URL regardless of what the link was!
Was this change made on purpose by Facebook and if so why? There's been no mention of this whatsoever on the Developer Blog.
Update 3/21 8:10am PST:
I've since found this to be a widespread problem, not just for a few apps. Just by clicking around I've seen this error on posts to weather.com, youtube, msn.com and a dozen others. It happens on both clicks from the Timeline as well as the News Feed (although strangely sometimes the same post works on one, but not the other!), and from the m.facebook.com mobile web app as well as the native iOS app.
I commented on http://developers.facebook.com/bugs/302635863137683 but no word from Facebook yet. I can't believe more people aren't talking about this right now, this is a major bug.
In your app, go to Settings -> Add platform -> Website
Add both, Website URL and Moblie Website (Yes, you need these both), then your app will be able to be opened from facebook native app.
You will also need the FB Canvas.
Same here, I recently noted that all links of items shared with our Adroid or iPhone app are broken. This only happens with the mobile version of Facebook the Desktop web version is still working. What is actually wrong on the mobile version is that the original shared url is replaced with a m.facebook url that ends with "?ref=unknown&refid=0&ft=fbid.332036910178718%3Ainterface.m_touch%3Ac.m" When user click on it Facebook is redirecting the user to the App's "Mobile Web URL" + "?ref=unknown&refid=0&ft=fbid.332036910178718%3Ainterface.m_touch%3Ac.m" instead of the original shared url.
My opinion is that this is an issue of Facebook that is redirecting the url to the wrong location, "Mobile Web URL" instead of the original post url.
Ok not working. What is going on, 1st directed to something about itunes url. I am on an Android not an Iphone. Sad state when an disabled person is unable to gain access the same as others. This is bad for all users.

Mobile facebook login not logging in iPhone users?

I've got to be doing something very obvious wrong here, because I just can't bring myself to believe that facebook's mobile login isn't working correctly for iPhone users. If you have a look at these urls, you'll see that they work (after you replace the 'YOUR_APP_ID' and 'YOUR_REDIRECT_URL', of course) in web browsers & Androids, but on iPhones (3s and 4s) they take you right into facebook and you never see the Extended Permissions page or get redirected:
https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&display=wap&scope=email,user_location,read_friendlists,publish_stream,offline_access
https://m.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URL&scope=email,user_location,read_friendlists,publish_stream,offline_access
I mean, I'm sure they tested their mobile login stuff on an iPhone, right? Anyone know what I'm doing wrong?

iOS - being logged-in in a webView after logging in with the SDK

I'm building an iPhone app that has some social features. I've managed to get the user to log-in to Facebook within my application.
I've also implemented a webview that loads a facebook iPhone-optimized page. What I now want to do is my user to be logged-in within the webview without having to log-in twice (once in the app and once in the webview)
I've tried a few things playing around with the access_token in the URL but it didn't work.
Does anyone know if it is possible to implement that and how to do it?
Thanks in advance for your help
Short answer: You're probably not supposed to be able to do that.
The idea is that your app should only store an authentication token that lets you do stuff as your app (e.g. post to the wall as your app). On the web version, the user is logged in to facebook and facebook additionally passes an authentication token to your website; on the iOS version, I think you never get the Facebook session cookie, and I'm pretty sure you need the Facebook session cookie to be logged in to the web side of things (especially since it's designed for the browser — logging out of Facebook logs you out of Facebook Connect on all sites).
There are loads of things you can do to work around this — it's trivial to just ask the user for a username/password (and the whole idea of a "trusted UI" inside a UIWebView inside your app is flawed, despite Facebook's claims).
The "right" thing to do is to implement everything using calls to the iOS SDK so you don't have to bother with the web side of things.
were you testing your app on the simulator or on the device? The reason i ask is because im trying to get the app to stayed logged into fb which it does, sorta...it still pops a fb dialog saying it logged in fine and the user has to click on an OK button.
I havent had time to test it on the device but i think it may have to do with the fact that with the OAuth 2.0, with 3.2.x or >...if the fb is installed, it uses the fb-app login but if its not installed it uses the safari web login.
Since simulator doesnt have the fb app installed, it actually uses the safari web login (i humbly deduced) which would otherwise store a cookie and maybe it doesnt do so on the simulator..dunno, im still looking for the answer on that one :)