This document refers to a feature that was removed after Graph API v1.0.
Graph API Version
v21.0

FB.login

Calling FB.login prompts the user to authenticate your application using the Login Dialog.

Calling FB.login results in the JS SDK attempting to open a popup window. As such, this method should only be called after a user click event, otherwise the popup window will be blocked by most browsers.

On Canvas, if the user is 'unknown' (that is, when the login status == 'unknown'), do not use the JS SDK to sign in the user, instead do a full redirect of the page to the login dialog so that we get a consistent state.

Example

 FB.login(function(response) {
   if (response.authResponse) {
     console.log('Welcome!  Fetching your information.... ');
     FB.api('/me', function(response) {
       console.log('Good to see you, ' + response.name + '.');
     });
   } else {
     console.log('User cancelled login or did not fully authorize.');
   }
 });

Permissions

By default, calling FB.login will attempt to authenticate the user with only the basic permissions. If you want one or more additional permissions, call FB.login with an option object, and set the scope parameter with a comma-separated list of the permissions you wish to request from the user.

 FB.login(function(response) {
   // handle the response
 }, {scope: 'email,user_likes'});

Asking for more permissions decreases the number of users who will choose to authenticate your application. As such, you should ask for as few permissions as possible the first time you want a user to authenticate your app.

By setting the return_scopes option to true in the option object when calling FB.login, you will receive a list of the granted permissions in the grantedScopes field on the authResponse object.

 FB.login(function(response) {
   // handle the response
 }, {
   scope: 'publish_actions', 
   return_scopes: true
 });

If you need to collect more permissions from users who have already authenticated with your application, call FB.login again with the permissions you want the user to grant. In the authentication dialog, the user will only ever be asked for permissions they have not already granted.

Parameters

NameTypeRequiredDescription

cb

function

no

The callback function.

opts

object

yes

Options to modify login behavior. See below for properties you can set on the object.

Options

NameTypeDescription

scope

string

Comma separated list of extended permissions

return_scopes

boolean

When true, the granted scopes will be returned in a comma-separated list in the grantedScopes field of the authResponse

enable_profile_selector

boolean

When true, prompt the user to grant permission for one or more Pages

profile_selector_ids

string

Comma separated list of IDs to display in the profile selector