Skip to content
Yan Nasonov edited this page Feb 15, 2024 · 97 revisions

Overview

The GConnector for Drupal allows you to easily integrate Gigya's Customer Identity with your Drupal site. With the GConnector, you easily implement such features as registration, authentication, profile management, data analytics and third-party integrations. Increase registration rates and identify customers across devices, consolidate data into rich customer profiles, and provide better service, products and experiences by integrating data into marketing and service applications.

Customer Identity (RaaS) is Gigya's end-to-end identity management system that offers cloud-based user registration as well as social login, allowing sites to maintain a unified user database for both social and traditional site authentication.

Note:

Registration-as-a-Service is a premium service that requires separate activation. If it is not part of your Gigya site package, please contact your Gigya account manager or contact us by filling in a support form.

Versions and Compatibility

This version of the Gigya Connector is compatible with:

- Drupal versions 9.x – 10.1.x

Note:

**Drupal 8 is not supported. However, Drupal 8 is still listed as a valid version in the module, and will be removed in a future version.

- PHP versions 8.0.x–8.2.x

Note: For the Drupal 7 GConnector, see Drupal 7.

Installation and Basic Implementation

To install the GConnector for Drupal, complete the following steps:

1. Set Up Your Gigya Account for RaaS

See Setting Up Your Gigya Account for RaaS.

2. Install Gigya Connector

Option 1: Install via Composer

  1.  composer update
    
  2. Install Gigya with dependencies:

     composer require gigya/gigya-drupal
    

Option 2: Manual Install

  1. Place the Gigya Connector in the modules directory in your Drupal site.
  2. Return to your Drupal installation directory and install Gigya PHP SDK via Composer: composer require gigya/php-sdk

Note:

If you are using the user deletion module, the AWS SDK also should be installed. This can be done via Composer from your Drupal installation directory:

   composer require aws/aws-sdk-php

For versions prior to 9.x-1.1.0:

   composer require aws/aws-sdk-php: 2.x

Tip:

For more information, see Drupal documentation.

For the list of Drupal releases, see Releases.

3. Enable the GConnector

Enable the GConnector by installing the modules Gigya and Gigya RaaS through the Drupal UI under Extend. Both are required to use Gigya with Drupal. Alternatively, enable the GConnector by running

    drush en gigya gigya_raas

4. Store Encryption Key

In order to store Gigya credentials securely, the Gigya keys must be two-way-encrypted. A random encryption key is provided when the module is unable to read an existing one. This key must be written to a file:

  1. In the General tab, copy the provided encryption key.
  2. Place the key in the settings.php file as “gigya_encryption_key”.

Note:

Optionally, you can create your own encryption key instead of using the provided key. You can do this on your own, or you can use the script provided by Gigya. For details, see Create Your Encryption Key.

5. Enter Gigya Credentials

  1. In the Drupal Admin console, go to Extend.

  2. In the Gigya section, select Gigya Core Module to expand the options, and select Configure. The settings page is displayed:

  3. Enter the following details: a. The Gigya API Key for your site, as it is displayed in the Gigya admin console in the Dashboard screen (see screenshot):

    b. Gigya Application Key: A key that Gigya generates when a new application is created.

    c. Gigya Authentication Mode: The method to which the GConnector will validate and sign all requests. This can be set to use either the secret assigned to the application/user key, or the Private RSA Async key. For additional information, see Signing Requests to SAP Customer Data Cloud.

    d. Gigya Application Secret: The Gigya Application Secret or Private RSA Async Key, depending upon which you defined in the previous option. Using this set of credentials helps to protect your Gigya data. See instructions for creating an Application Key and Application Secret.

    e. The Gigya Data Center with which your site is associated. For instructions, see Finding Your Data Center. Note: If your Data Center is not US, EU, or AU, select 'Other' and enter the Data Center's URL, e.g. "ru1.gigya.com".

  4. Select the Save Configuration button.

6. Implement RaaS Screen-Sets

The Gigya Connector enables you to implement RaaS screen-sets through menus or through blocks.

Implementing RaaS screen-sets through menus:

  1. In the Drupal Admin, go to Structure > Menus.

  2. Go to User accounts menu, click Edit menu.
    In the page that opens, click Add link.
    In the page that opens, specify the desired title in the Menu link title field.
    In the Link field, enter the screen-set you want to implement, which can be one of the following:

    • #gigya-login
    • #gigya-register
    • #gigya-editProfile

    Modify the other properties on the screen as necessary, then click Save.

Implementing RaaS screen-sets through blocks:

  1. In the Drupal Admin, go to Structure > Block Layout.

  2. Choose the desired region in the page in which you want the Gigya interface element to be displayed, and select the Place Block button next to that region.

  3. In the Place Block window, type "gigya" to filter the blocks.

  4. Choose the desired Gigya block and select the Place Block button next to it.

Note:

The "Gigya RaaS links" block will add Gigya screens as a pop-up window. Any of the other options, e.g. "Gigya RaaS Login", embeds the relevant Gigya screen into the page.

  1. Edit the block settings if needed, and select Save Block.

The available blocks are:

  1. Gigya RaaS Links: This block displays Gigya RaaS links that can be clicked by the site user to open any of the RaaS screen-sets in a pop-up window. a. When the site user is not logged in, the block displays Login and Registration links. Clicking a link opens the Login or Registration screen-set, respectively, in a pop-up window.

    b. When the site user is logged in, the block displays a Profile link. Clicking this link pops up the Edit Profile screen-set.

    The following screenshot shows the Registration screen-set opening in a pop-up window:

  2. Gigya RaaS Login: Embeds the Login screen-set in the page.

  3. Gigya RaaS Register: Embeds the Registration screen-set in the page.

  4. Gigya RaaS Profile: Embeds the Edit Profile screen-set in the page.

(Optional) Create Your Encryption Key and Configure the Encryption Key Path

Gigya provides you with an encryption key (for details, see Store Encryption Key. It is recommended that you use that key. If you do, you can ignore the rest of this section. However, if for whatever reasons you prefer to create your own encryption key, see the details below.

In this step, you create the encryption key file, which will be referenced when configuring the key path.

Go to /gigya/cli/ and run the following command:

    php encryption.php -gen abc > <PATH>/a.key

This command creates an a.key file, which includes the encryption key, saved in the path you specified.

In some cases the file may not be created. This may happen if you lack relevant permissions to create a folder or write a new file to the server. In this case, you can receive the encryption key, copy it and manually create the file:

In /gigya/cli/, run the following command:

    php encryption.php -gen

This command returns an encryption key. Save the key to a file in the server that contains only this key, and name the file a.key.

Note:

  • For security reasons, the a.key file should not be located in the public (www) directory.

  • Supported encryption is AES 256.

  • If you change settings that are related to the encryption key, such as the folder path, or re-generate the key, you may need to re-enter your application key and secret in the configuration settings.

Once done, you need to edit the gigya.global YAML configuration file to enter the path to the encryption key. As in any change to the YAML file, you will have to export the file, make the change, and then import it back into Drupal.

  1. Export the configuration file:
    1. In the Administration console, go to Configuration > Development > Configuration Synchronization > Export > Single Item.
    2. In the Configuration Name dropdown list, select gigya.global.
  2. In the textbox that displays the contents of gigya.global, set the keyPath parameter to a path to a file that contains an encryption key, e.g. '/a.key'.
  3. Copy the new configuration.
  4. To import the new configuration back into Drupal:
    1. Go to Configuration > Development > Configuration Synchronization > Import > Single Item.
    2. In the Configuration Type dropdown list, select Simple Configuration.
    3. In the Configuration Name box, enter 'gigya.global'.
    4. Paste the configuration you copied.
    5. Select the Import button.

Note:

If the file set in keyPath exists and is readable, it will be used for encryption. Otherwise, the Connector will produce an error message.

Managing Roles and Permissions

Gigya RaaS does not manage user roles (such as Administrator) or permissions. These are still managed by Drupal.

To manage roles and permissions, you should:

  • Log in via native Drupal login at https://www.example.com/user.

  • In the Drupal admin console, go to People > Roles or People > Permissions.

Note:

  • When logging in via https://www.example.com/user, the login is not synchronized with RaaS. From Gigya's perspective, the admin user is not logged into the site.
  • If an admin adds/removes/edits a user via the Drupal admin console, these changes are not synchronized with Gigya.

Gigya Connector Permissions

By default, users of the Connector who hold the Administrator role in the Drupal system are granted the following Gigya permissions:

Permission Description
Gigya Major Admin Ability to edit the Gigya Application Secret (see Entering Gigya Credentials in the installation guide). This permission enables you to restrict access to this sensitive field for added security.
Bypass Registration-as-a-Service Use Drupal's native login instead of Gigya RaaS login. Any Drupal admin user must have this permission assigned. Site admins also need this permissions in order to access the Drupal admin console (seeEnabling Native Drupal Login for Privileged Users below).

Other users do not receive any of these Gigya permissions by default.

You may choose to create a role such as Gigya Editor, configure it with some or all of the Gigya permissions listed above, and assign the role to certain users.

Tip

Enabling Native Drupal Login for Privileged Users

Immediately after you enable Gigya RaaS, only the main site admin will be able log in through the native Drupal login (https://www.example.com/user).

To enable any other user to log in via native Drupal login, that user has to be granted a special permission. In addition, if that user has registered through RaaS, they have to be given a Drupal password.

The process is as follows:

  1. The user registers to the site through RaaS.
  2. The admin goes to People > Permissions and enables the Bypass Registration-as-a-Service permission for a desired role group, e.g. for Administrators.
  3. The admin goes to People, finds the new user and grants them the Administrator role (or any role that has the Bypass Registration-as-a-Service permission).
  4. The admin also enters a password for the user.
  5. The user can then go to https://www.example.com/user, and log in with the username and password that have been set by the admin.

Customization

Customization Options

There are two main ways to customize the GConnector:

(I) Editing the gigya.global YAML Configuration File

The Connector is installed with some default settings, contained in gigya.global.yml (view file).

  **Sample Code**
  **gigya.global.yml - default settings**

   gigya:
   language: 'Auto'
   languageFallback: 'en'
   keyPath: '/var/tmp/key.txt'
   gigyaDebugMode: false
  globalParameters: { enabledProviders: '*', sessionExpiration: 100 }
   enableRaaS: true
   fieldMapping: { uuid: 'UID', mail: 'profile.email', name: 'profile.firstName' }

To edit gigya.global:

  1. In the Admin console, go to Configuration > Development > Configuration Synchronization > Export > Single Item > gigya.global.

  2. Copy the configuration from the text box and edit it in a YAML Editor.

  3. Go to Configuration > Development > Configuration Synchronization > Import > Single Item. In Configuration Type, select Simple Configuration. In Configuration Name, enter 'gigya.global'.

  4. Copy the configuration from your YAML editor and paste it into the text box, and select Import.

(II) Implementing Hooks

The GConnector also offers a set of hook functions to enable more advanced customization. With hooks, you can dynamically change variable values and/or override the GConnector's functionality.

Every Gigya API call that is invoked by the GConnector passes through the hooks before being sent to Gigya's servers. To interact with or extend the Gigya module, simply implement corresponding hooks in your own module code. For each hook, the prefix 'hook' in the name of the function is a placeholder for the name of your module. For example, if you want to implement "hook_gigya_raas_map_data_alter" (see details of this hook) to customize field mapping, and your module is called "mymodule", create a function called "mymodule_gigya_raas_map_data_alter".

For more information on hooks, see the Drupal hooks documentation.

See the table below for the list of available hooks. They are all included in the file gigya.api.php in the root directory of the Connector.

Example

Sample module: For an example of how to implement these hooks in your own code, download our sample "Gigya Client" moduleInformation published on non-SAP site. This is a module for Drupal that builds on the GConnector by implementing some of the hooks. Review the code and use the module as a reference for your own hook implementations.

Note

When you implement hook functions, they override any settings configured anywhere else in the Connector.

Summary of Customization Options

Option Parameters in gigya.global YAML Hooks
Language language
languageFallback
See Hook for Advanced Language Settings
Field Mapping fieldMapping See Hook for Advanced Field Mapping
Screen-Sets - See Hooks to Customize the Login and Registration Screen-Sets, Hook to Customize the Edit Profile Screen-Set, Hook for user Login Redirection, Hook for user Logout Redirection
Other Customization Options enableRaaS
globalParameters
See Hooks for Advanced Global Parameters Configuration

User Session Management and Session Expiration

When using the GConnector, Gigya leads the user's session, and syncs it with the Drupal one:

  • When a user logs into Gigya in your site, they are also logged into Drupal.
  • When a user logs out from Gigya, they are also logged out from Drupal through session revocation.

Before configuring session management, you should read about Managing Session Expiration. To configure session expiration, in the Drupal admin space, go to Extend > Gigya RaaS > Configuration:

Note:

Gigya recommends using dynamic sessions whenever inside an SSO group. For additional information, see Managing Session Expiration.

To enable single-logout for a site group, see GConnector Single Logout In SSO Groups.

  1. Select between a fixed session (lasts as long as the specified session duration) and a dynamic session (lasts as long as the specified duration, but is extended with each server-side call). For a multi-site setting, we recommend a dynamic session expiration.

  2. Under Session duration, do one of the following:

    • Specify the length of the fixed or dynamic session. This must not be less than 61 seconds.
    • Enter "0" if you want to the session to end when the browser closes (session is neither fixed nor dynamic).
    • Enter "-2" if you want the session to last forever (session is neither fixed nor dynamic).
  3. In Drupal's default.settings.php file, define a value for the session cookie lifetime. This value should correspond to the one you entered under Session duration: the same session duration (in seconds), or 0 for a session that ends when the browser closes. If you want to the session to be valid "forever" (-2 in Gigya's setting), enter the highest valid duration.

    For example:

     ini_set( 'session.cookie_lifetime' , 2000000);
    

If you are using the Remember Me field of a screen-set and the rememberSessionExpiration property of your site's Policies, this value is synced to the Drupal session.

When defining the session length inside Drupal, it needs to be equal to or longer than the session length you configured inside the GConnector.

Language Settings

By default, the Gigya elements in every page will be displayed in the language that has been set for the specific page in Drupal. If the page's language in Drupal is not one of the languages offered by Gigya, the Gigya elements will be displayed in English.

How to Change Language Settings

To change language settings, change the following lines in the gigya.global settings file:

    language: 'Auto'
    languageFallback: 'en'

You may change these parameters as follows:

Required? Parameter Name Type Options
language string Set to a language code such as 'en' or 'es-mx' to choose a language for all Gigya elements.
Set to 'Auto' (default) to use the language that has been set in Drupal for the specific page.
languageFallback string If you have set language to 'Auto', use this parameter to specify the fallback language that will be used, if the language set in Drupal for the specific page is not a language offered by Gigya.

For a list of interface languages supported by Gigya, see Language Support.

How to Use Hooks for Advanced Language Settings

The Gigya Connector offers the following hook (see general note on hooks above) to customize the language settings further:

To customize: Do:
Function Header function hook_gigya_lang_alter(&$lang)
Parameters $lang: Check the value of this parameter to see what language was selected by the Connector's logic based on all the settings. Assign another value to override the settings.

Example

The following code will cause all Gigya interface elements to use French, overriding all other language settings:

    function myimplementation_gigya_lang_alter(&$lang) 
    $lang = "fr"; 
    }  

Field Mapping

By default, the following fields will be imported from Gigya into Drupal for every user who logs in through Gigya:

  • Gigya User ID
  • Email
  • Name

How to Add Fields

To change the field mapping and add fields, edit the following line in the gigya.global settings file:

      fieldMapping: {uuid: 'UID', mail: 'profile.email', name: 'profile.firstName'}

To map any additional user field from Gigya:

  1. Locate the Gigya user field you want to map.

    • The Account object (see documentation) contains general fields such as the Gigya UID, time created, last login etc.

    This object also contains:

    • The Profile object (see documentation), which holds personal data such as name, gender, age, address and more.
    • The Data object, which can be used to hold custom data about the user.

    For our purposes, you will refer to the field as 'fieldname' if it's in the Account object, 'profile.fieldname' if it's in the Profile object, and 'data.fieldname' if it's in the Data object.

  2. Find the appropriate field in Drupal or create a custom field if necessary.

  3. Add the mapping to gigya.global using the format : 'gigyafield'. For example:

     fieldMapping: {uuid: 'UID', mail: 'profile.email', name: 'profile.firstName', lastname: 'profile.lastName'}
    

Note

This method works for simple field types such as numbers and strings.

To map array or object fields, such as Gigya's profile.phones, or to add any advanced mapping functionality, use the field mapping hook.

Mapping Boolean fields also requires a hook, in order to map the true/false values provided by Gigya into the 1/0 values used in Drupal.

Note

Name is a required field in Drupal.

How to Use Hooks for Advanced Field Mapping

The GConnector offers the following hook (see general note on hooks above) to enable you to create more complex field mapping:

To customize: Do:
Function Header function hook_gigya_raas_map_data_alter(array &$gigya_data, User &$drupal_user, array &$field_map)
Parameters $gigya_data: An array of user data fields in Gigya. Use $gigya_data['fieldname'] to get the value of a specific field in Gigya.
$field_map: An array of user data fields in Drupal. To set these fields, assign values to $field_map['fieldname'].
$drupal_user: An object representing the Drupal user (see user in the Drupal API). You can also assign values to fields in this object.

Example

Say you have a custom 'gender' field in Drupal that is Boolean and contains 'true' for male users and 'false' for female users. You want to map the Gigya gender field to it, but the Gigya field contains 'm' for male, 'f' for female, or 'u' for unspecified. You can use the following code in the hook to map the values correctly:

    function myimplementation_gigya_raas_map_data_alter(array &$gigya_data, User &$drupal_user, array &$field_map) {
      if ($gigya_data['profile.gender']=='m') {
        $field_map['gender'] = true;
      } elseif ($gigya_data['profile.gender']=='f') {
        $field_map['gender'] = false;
      }
    }

Advanced Screen-Set Customization

How to Use Hooks to Customize the Login and Registration Screen-Set Parameters

The GConnector offers the following hook (see general note on hooks above) to configure advanced settings for the Login and Registration Screen-Sets.

To customize: Do:
Function Header function hook_gigya_raas_settings_alter(array &$raas_login, array &$raas_register)
Parameters $raas_login: Array of parameters for displaying the Login screen-set.
$raas_register: Array of parameters for displaying the Registration screen-set.
See the accounts.showScreenSet API documentation for more details and the list of available parameters.

Example

If you have defined custom screen-sets in Gigya that use advanced parameters, i.e., a customButtons array, you can use the hook to point the Connector to the right Login screen-set by setting the additional parameters.

    function myimplementation_gigya_raas_settings_alter(array &$raas_login, array &$raas_register) {
        $customButtons = array(
            'type' => 'saml',
            'providerName' => 'Gateway Two',
            'idpName' => 'testIdp-gig02',
            'iconURL' => '//developers.gigya.com/download/attachments/15795144/IDP.png',
            'logoURL' => '',
            'lastLoginIconURL' => '//developers.gigya.com/download/attachments/15795144/IDP.png',
            'position' => 4,
        );
        $raas_login['customButtons'] = $customButtons;
        $raas_login['lang'] = 'fr';
    }

How to Use Hooks to Customize the Edit Profile Screen-Set

The GConnector offers the following hook (see general note on hooks above) to configure settings for the Edit Profile screen-set.

How to use Hooks for User Login Redirection

The GConnector offers the following hook to configure where the user is redirected after a successful login.

To customize: Do:
Function Header function my_module_gigya_post_login_redirect_alter(&$post_login_redirect)
Parameters $post_logout_redirect: A URI string which includes the FQDN (i.e., 'https://my.site/node/1') that you want to redirect the user after login.

Example

      function my_module_gigya_post_login_redirect_alter(&$post_login_redirect) {
       if (\Drupal::config('my_config.param'))
           $post_login_redirect = 'https://my.site/node/1';
    }

How to use Hooks for User Logout Redirection

The GConnector offers the following hook to configure where the user is redirected after a successful logout.

To customize: Do:
Function Header function my_module_gigya_post_logout_redirect_alter(&$post_logout_redirect)
Parameters $post_logout_redirect: A URI string which includes the FQDN (i.e., 'https://my.site/node/1') that you want to redirect the user after logout.

Example

      function my_module_gigya_post_logout_redirect_alter(&$post_logout_redirect) {
       if (\Drupal::config('my_config.param'))
           $post_logout_redirect = 'https://my.site/node/1';
    }

Custom RaaS Screen-Sets

You can configure Gigya's screen-sets for Drupal in the Drupal Admin console, or by adding code.

Configuring Screens in the Admin Console

  1. In the Drupal Admin console, go to Gigya RaaS module configuration > Screen-Sets.

  2. Under Login/Registration Screen-set:

    a. Under Desktop screen-set ID, specify the name of the Gigya screen-set to use for login and registration.

    b. If you are using a different screen-set for mobile screens, specify that under Mobile Screen-set ID.

  3. Repeat for the screens you wish to use in the Profile Update screen-set.

  4. Repeat for any custom screen-sets you are using, e.g., for Default-LiteRegistration.

    a. Select the Sync Data option if you want any data entered by the user synced to Drupal when the form successfully completes. Synchronization is done in accordance with the configured field mapping schema.

  5. Click Save Configuration.

Configure Display of Configured Screen-Sets

  1. Navigate to Content -> Widgets -> Add Widget -> Continue -> Widget Options to configure the Display Widgets.

  2. You can select either Embed or Popup as the Display Type.

    • For Popup, define the Link ID (the name of the DIV that will contain the link) and then add a custom Link CSS Class, if necessary, as well as configure a Screen-Set collection name.
    • For Embed type, define the Container ID (must be a DIV) that will contain the Screen-Set.

Other Customization Options

Disabling RaaS

To disable RaaS without removing the Connector, you can edit the gigya.global YAML file to set enableRaaS to false.

Adding Global Parameters

The gigya.global settings file includes the globalParameters setting, which allows you to control the global parameters with which any call to Gigya will be made.

For the list of available parameters, see Gigya's Global Conf Object documentation.

    globalParameters: {enabledProviders: '*'}

How to Use Hooks for Advanced Global Parameters Configuration

The following hook (see general note on hooks above) is offered by the Connector for adjusting any Gigya global parameters that cannot be controlled by other options and hooks.

To customize: Do:
Function Header function hook_gigya_global_parameters_alter(array &$gigya_global_parameters)
Parameters $gigya_global_parameters: Array of parameters governing global Gigya behavior in your site.

Example

The following implementation of the hook adjusts the policy for dealing with blocked third-party cookies and changes the date format displayed by Gigya interface elements.

For more information on these and other Gigya global parameters, see the Global Conf Object documentation.

    function myimplementation_gigya_global_parameters_alter(array &$gigya_global_parameters) {
    $gigya_global_parameters['dateFormat'] = '%d/%M/%yy';
    }

How to Implement OTP Mobile Login Flow

An email is required to log into Drupal, even if the user already has a working mobile login. For end-users who do not have an email registered at Gigya, you can configure a unique dummy email here.

A dummy email is used only if the user does not exist in the system. For users who already exist in the system, their true email is used. Once the end user enters their true email, that email overrides the dummy email.

The unique dummy email can contain one or more of the following variables: ${UID}, ${firstName}, ${lastName}, ${nickName}, ${phoneNumber}. For example: ${UID}-[gigya@my-site.com]. When no variables are used (e.g., if a hard-coded format is chosen), the dummy email is not unique per user, and this might create issues in the future.

If the email format is changed while the site is active, only new users will receive the new format.

To implement OTP mobile login flow:

  1. Navigate to Configuration -> Web services -> Gigya RaaS session settings and select the Creating dummy email while using no email login checkbox.

  2. In the Dummy Email Format box, specify the desired format for the dummy email, as per the instructions above.

UID-Based Sync

When syncing identity data between Gigya and Drupal, the UID-based sync uses the emails stored in Gigya's loginID. Note that Drupal uses email as an identifier.

Single Sign-On (SSO)

The GConnector supports Single Sign-On (SSO) between your Gigya-enabled sites. For more information about SSO, see Site Groups and Single Sign-On.

When configuring an SSO segment, the session management of all sites in the segment should share the same definition:

  • Fixed: when all sites in the segment are set to fixed session management, the start of the session is counted from the first site to which the user logged in.
  • Dynamic: when all sites in the segment are set to dynamic session management, the session is restarted with every call to the server. The best practice is to set the session duration to the same length for all sites that share an SSO segment.

To enable single-logout for the group, see GConnector Single Logout In SSO Groups.

User Deletion

This module supports user deletion. To enable user deletion, you must first configure an AWS bucket.

1. Enable the User Deletion Module

  1. In the Drupal Admin console, go to Extend.
  2. In the Gigya section, make sure Gigya User Deletion is enabled:
  1. Expand the deletion module and click Configure.

2. Configure the User Deletion Module

  1. Select the type of user deletion (tag as deleted, or full deletion from Drupal's database).

  2. Set the frequency (in minutes) for running the job.

  3. Add the email address(es) to which a notification should be sent upon successful or failed completion of the deletion job.

  4. Add the details of the Amazon S3 settings.

  5. Click Save configuration.

3. Handling Tagged Users

The user deletion module adds a gigya_user_deletion module to Drupal's database. When a user is tagged for deletion, they will receive a value in the following fields: is_deleted and deleted_time (Unix timestamp), in the users_data table (user.data service).

You can then use custom code to handle these users.

You can "undo" user tagging simply by deleting the values recorded for is_deleted and deleted_time.

You can review the deletion logs under Reports > Recent log messages, with a gigya_user_deletion type.

Logs

Gigya Connector reports are written to the default logging service as set in the Drupal platform.

The logs are available in two modes:

Regular Mode Debug Mode
Errors in API calls to Gigya Logged along with the native error message Logged along with the native error message
Every call to Gigya API Call ID + Gigya API method logged for every call

To turn on Debug mode, edit the gigya.global YAML file to set the parameter gigyaDebugMode to true. To return to regular mode, set the parameter back to false.

In addition you may use Gigya's various Debugging Tools.

Upgrading to GConnector Versions 2.8 and Above

If you are upgrading from any version of GConnector 2.7 or below to 2.8 or higher, you must manually add 2 (two) columns to your Drupal database. These columns are as follows:

  • expiration (int(11))
  • is_remember_me (int(11))

You can add these new columns in one of two ways, either automatically with a new installation or re-installation of the GConnector RaaS module or manually by running the following query:

    ALTER TABLE `sessions`
    ADD COLUMN `expiration` int(11) NOT NULL DEFAULT '0' COMMENT 'Gigya session expiration',
    ADD COLUMN `is_remember_me` int(11) NOT NULL DEFAULT '0' COMMENT 'Whether the Gigya session is a Remember Me session';

The RaaS module can be found on the Drupal Administration section.

Troubleshooting

General

  • The server clock must be set to GMT+0, otherwise errors and unexpected behaviors may occur. We recommend using NTP daemon to ensure that the server time is accurate.

  • Gigya screen-sets must entirely replace any login, registration, etc., screen provided by the CMS. The CMS registration, login and edit profile screens should not be rendered at all. Otherwise, the Gigya screen is placed inside the CMS screen and both will behave unexpectedly.

  • After changing the value of the application key, you must re-enter the application secret.

  • After installation or upgrade, ensure that you have cleared the cache, https://drupalize.me/tutorial/clear-drupals-cache.

Uninstalling the GConnector

The GConnector cannot be disabled, but you can uninstall through the UI or by using

    drush pm-uninstall gigya
Clone this wiki locally