Search code examples
facebook-graph-apifirebasefirebase-authentication

What does Firebase's FacebookAuthProvider.addScope do?


What does Firebase's FacebookAuthProvider.addScope do? Is it needed to retrieve an access token?


Solution

  • This is used to add Facebook OAuth 2.0 scopes such as: 'public_profile', 'email', 'user_likes', 'user_friends', etc. For example:

    var provider = new firebase.auth.FacebookAuthProvider();
    provider.addScope('user_friends');
    provider.addScope('user_likes');
    // This will open the Facebook sign in page and ask user to consent
    // to the additional scopes.
    firebase.auth().signInWithPopup(provider).then(function(result) {
      if (result.user) {
       // Additional user info like Facebook account url, gender, etc.
        console.log(result.additionalUserInfo.profile);
        // Facebook access token returned in the process
        // for the scopes requested.
        console.log(result.credential.accessToken);
      }
    });