Meteor facebook login not fetching requested data (only broken on mobile)

I used this guide https://gist.github.com/jamielob/881e0fe059c0ef0eb36d to get native facebook login working on meteor. The login works great, and it creates the account in my database.

The problem is, when logging in from the ios app, I’m not getting much data from the user. I have email, public_profile, and user_friends configured and accepted in the facebook developer console, and my settings.json looks like the below:

{
  "facebook": {
    "appId": "xx", 
    "secret": "xx"
  },
  "public": {
    "facebook": {
      "permissions": [
        "public_profile", 
        "email", 
        "user_friends"
      ]
    }
  }
}

I also request the permissions when logging into facebook as follows:

Meteor.loginWithFacebook({requestPermissions: ['public_profile', 'email', 'user_friends']}, function(err) {});

When a user creates their account in the production app, the only services I’m getting are

"services": {
        "facebook": {
            "accessToken": "CAAK6QhUFHHYBAHYALgYwRDYREItbIl7oowKy9Qb4FbsiDoVdSHbJBTBtnBlsxKb7qM4dE7sWcp9NwRYCgdzr1ZBDIKYzfMPUhZB6GTRUdMBy8noHMFit9ggPaOkr6VhlMyPWc291nMZAhhmmYHc2GvS2skUYLbvxCOUFVlwKAh2NijDzWPRVeguZAs5MWMHA7sxRK34uoG2qGlWVDVgmU0AXhT0YTjQZD",
            "expiresAt": 1452029461130,
            "id": "10208188243727601",
            "name": "me"
        }

… no email, first name, last name, gender, etc …

Before using native facebook login, I was getting all of the information I needed. The information is still captured when logging in from the browser, but not when logging in from my ios app.

Any ideas?

ask for offline token and get whatever you need ?

As in “submit for approval” to facebook?

I messed it with google that one have special offline token.
I dont have access to my app to check it, but should not you be able to grab all data from server side using that saved token ?
I did not played with that mobile package, but I have some hours pulling out info from various APIs

Actually… Now I realize the deployed app gets the correct data when used in the browser, but not when used on a mobile device… very weird.

1 Like