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.
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.');
}
});
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.
Name | Type | Required | Description |
---|---|---|---|
| function | no | The callback function. |
| object | yes | Options to modify login behavior. See below for properties you can set on the object. |
Name | Type | Description |
---|---|---|
| string | Comma separated list of extended permissions |
| boolean | When true, the granted scopes will be returned in a comma-separated list in the |
| boolean | When true, prompt the user to grant permission for one or more Pages |
| string | Comma separated list of IDs to display in the profile selector |