I built a signup page which utilizes the app_scoped_user_id (by Facebooks own SDK, newest version, 2.4 as of this post) to identify people.
This has been working fine, but I just noticed that when accessing the page through Facebook Messenger on iPhone, the app (my app on Facebook) returns the true userID instead of the app scoped user ID, which I was under the impression was the only one available, for privacy reasons.
This kind of messes up my identification plan, as users now have one ID when going through Messenger and another when accessing the app through Facebook web.
Is this a bug, or do I need to do something specific to explicitly request app scoped user IDs? Quite honestly I'm very confused as I spent a lot of time reading up on user IDs within Facebook apps, and this goes against every documentation I can find.
ID retrieved like this. Same code whether accessed by Mobile (through Facebook Messenger) or on desktop/web:
FB.login(function (response) {
if (response.status === 'connected') {
// Messenger = true ID
// Web = app scoped
var facebookID = response.authResponse.userID;
};
});
Edit: In response to comment: There was already a similar bug filed. It can be found here: https://developers.facebook.com/bugs/1188504394499860/
This also links back to this description.