socialize.removeConnection JS

Skip to end of metadata
Go to start of metadata

Description

Disconnects the current user from one or all of the connected providers, so that:

  • The session with the provider closes.
  • The social identity is removed from the user profile.
  • The internal link between the user ID in the social provider and their GigyaUID is removed.
  • For some providers, the user is also logged out from the social network (see Supporting Providers below).

If the provider being disconnected is the user's last login identity and the lastIdentityHandling parameter is set to "fail", the internal link between the user ID in the social provider and their GigyaUID is not removed.

Note: This method is also supported in our REST API. If you wish to execute this method from your server, please refer to

REST API > socialize.removeConnection.

 

Supporting Providers

This operation is currently supported by the following providers:

Facebook, TwitterGoogle+LinkedIn, Microsoft, Instagram, renren, Yahoo!, Vkontakte, mixiYahoo! Japan, Odnoklassniki and WeChat
.

For FacebookYahoo, Google+, and LinkedIn, removeConnection also logs the user out of the social network.

Note that the user can be logged out of Facebook only if you have configured a Domain Alias (CNAME) for your site and enabled automatic session renewal in your site setup.

 

Syntax

 

 

Parameters

The following table lists the available parameters:

RequiredNameTypeDescription
providerstringThe provider from which to disconnect. The optional values for this parameter are: facebook, twitter, googleplus, linkedin, microsoft, instagram, renren, yahoo, vkontakte, mixi, yahoojapan, odnoklassniki, wechat (Note: messenger has been replaced by microsoft, however, for backward compatibility, either can be used).

SAML providers are also supported - the format of the provider name is saml-<name>.

If this parameter is not set, then the user will be disconnected from all the providers.

callbackfunction
A reference to a callback function. Gigya calls the specified function along with the results of the API method when the API method completes.
The callback function should be defined with the following signature: functionName(Response).
The "Response Object Data Members" table below provides specification of the data that is passed to the callback function.
cidstring
A string of maximum 100 characters length. The CID sets categories for transactions that can be used later for filtering reports generated by Gigya in the "Context ID" combo box. The CID allows you to associate the report information with your own internal data. For example, to identify a specific widget or page on your site/application. You should not define more than 100 different context IDs.

Note: This parameter overrides the value of the identical parameter in Global Conf (the global configuration object). If the parameter is not set for the method, the value from Global Conf is used.

forceProvidersLogoutBoolean
If this parameter is set to 'true' (default), Gigya logs the user out from all providers to which they are connected and which support this feature (as of now only Facebook, Google, Yahoo and SAML sessions can be logged out).
If this parameter is set to 'false', the user will remain logged in to all providers after logging out from the Gigya platform, i.e., they will only be logged out of Gigya.
In order to force logout from Facebook, your Facebook app definition must have a Domain Alias (CNAME) that matches the name of your site, entered in both the "Site URL" parameter (Website section) and the "Valid OAuth redirect URI" (Security section).  You must also enable native SDK capabilities in the Gigya Admin Console's Site Settings page in the Facebook Configuration dialog. 
contextobject
A developer-created object that is passed back unchanged to the application as one of the fields in the response object.
removeLoginIDBooleanIndicates whether the server should remove the login ID that is associated with the removed social network identity. This can be done as long as the following conditions are met:
  1. The login ID is not associated with any other identity (site or social)
  2. After removing the login ID there is still another way to login to the account, i.e. either there is another social identity connected to the account or there is another login ID and password pair.

If these conditions are not met, for example, if the social identity being removed is the last social identity and the associated login ID is the last login ID. In this case the operation fails without removing anything.
The default value is "false".

lastIdentityHandlingstringDetermines how to handle attempts to remove the last login identity. May be either "soft" or "fail":
  • "soft" - Indicates that Gigya will remove all the stored information related to the connection, except for the mapping between this user account and the social user. This way Gigya deletes all the information about the user but the account remains accessible if the user ever tries to login again using the same social identity. Completely deleting any association with the last connected identity may be achieved by deleting the account using socialize.deleteAccount.
  • "fail" - Indicates that the last login identity cannot be removed by Gigya, an error indicating this will be returned.

 

Response Object Data Members

FieldTypeDescription
userUser objectUser object with updated information for the current user.
errorCode integer The result code of the operation. Code '0' indicates success, any other number indicates failure. For a complete list of error codes, see the table.
errorMessage string A short textual description of an error associated with the errorCode for logging purposes.
callId string Unique identifier of the transaction, for debugging purposes.
context object The context object passed by the application as a parameter to the API method, or null if no context object has been passed.

Global Event Triggered

By using this method, the following global event is triggered: onConnectionRemoved . To register an event handler use the socialize.addEventHandlers API method. Please refer to the onConnectionRemoved event data. Refer to Events to learn more about how to handle events generated by the Gigya service.

 

Code Sample

function printResponse(response) {  
    if ( response.errorCode == 0 ) {             
        var user = response.user;
        var msg = 'User '+user.nickname + ' has been disconnected';
        alert(msg);
    }
    else {
        alert('Error :' + response.errorMessage);
    }  
}

// Remove Connection from one specific provider, for example Facebook:
gigya.socialize.removeConnection({callback:printResponse, provider:'facebook'});

// Disconnect from all providers:
gigya.socialize.removeConnection({callback:printResponse});

Notes:

  • This sample is not meant to be fully functional code. For brevity's sake, only the code required for demonstrating the API call itself is presented.
  • To run the code on your own domain, add your Gigya API key to the gigya.js URL. A Gigya API key can be obtained on the Site Dashboard page on Gigya's website. Please make sure that the domain from which you are loading the page is the same domain name that you used for generating the API key.
  • In some cases it is necessary to connect/login the user to a provider ? prior to calling the API method. You can learn more in the Social Login guide.