Gigya Job Openings


Skip to end of metadata
Go to start of metadata


Sitefinity is an ASP.NET content management and marketing analytics platform designed to maximize the agility needed to succeed in today’s rapidly changing digital marketplace. It provides developers and IT teams the tools they need to support enterprise-level digital marketing, optimizing the customer journey by delivering seamless personalized experiences across different technologies and devices.

The GConnector for Sitefinity is designed to help you implement Gigya Registration-as-a-Service (RaaS) in your Sitefinity websites as quickly and easily as possible.

With the GConnector, you can 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.

The rich user profile information gained through Gigya can also be channeled into Digital Experience Cloud for analysis and new audience insights.


The latest versions of Sitefinity supported by this GConnector are 9.0.6010.x and 10.2.6602. The oldest supported version of the GConnector is

The Sitefinity GConnector requires 3 separate modules for best performance:

  • The Sitefinity Core module (required)
  • The Sitefinity Data Store Sync module to sync with the Gigya Data Store (usually required)
  • The Sitefinity User Deletion module to sync deleted users (optional)

Installation and Implementation Guide

1. Set Up Your Gigya Account

Before you begin setting up the GConnector in your site, do the following:

  • Set up your Gigya account for RaaS (see guide).
  • Create an Application Key and Application Secret in the Gigya console (see instructions).

2. Install the Connector

  1. Create a new project in Sitefinity project manager and install the licence. 
  2. Download your preferred GConnector from the following link: 

    Gigya Developer Downloads

    Note that only version 10.0.6400 is available for version 10, which you should download even if you are using a higher version of Sitefinity 10. See the Binding Redirect section that follows.

  3. In Visual Studio open Tools > NuGet Package Manager > Package Manager Settings.

  4. In the Options dialog that opens, go to the Package Sources section and press the + (add) button.
  5. For the new Source, edit the Name and browse to the folder you downloaded the Gigya Sitefinity GConnector.

  6. Press Update and then OK.
  7. Open the project in Visual Studio and save the solution (.sln) file. 
  8. Right-click References and select Manage NuGet Packages

  9. Make sure the Package source is the location that you added above, in step 5.

  10. Then select the GConnector file you downloaded to that location.


  11. Finally, press Install.

  12. Build your project in Visual Studio.

These steps apply whenever you update your Sitefinity 9.x or 10.x version and need to recompile the Gigya project.

Binding Redirect

From version 10.0.6400 of Sitefinity, the GConnector supports using binding redirects to newer versions of Sitefinity, in cases where Sitefinity releases a minor update, with no update required to the connector. For more information about binding redirects, see Microsoft's documentation.

To create a binding redirect: 

  1. You can see which version of Sitefinity you're using in the config:version attribute in /App_Data/Sitefinity/Configuration/DataConfig.config of your Sitefinity project. 
  2. Open the web.config file in the site's root folder.
  3. In the dependentAssembly property, enter the old (current) version of Sitefinity and the new version, in the oldVersion and newVersion parameters, respectively, according to the following example:

    	<assemblyIdentity name="Telerik.Sitefinity" publicKeyToken="b28c218413bdf563" />
    	<bindingRedirect oldVersion="" newVersion="10.1.6503.0" />
    	<assemblyIdentity name="Telerik.Sitefinity.Frontend" publicKeyToken="b28c218413bdf563" />
    	<bindingRedirect oldVersion="" newVersion="10.1.6503.0" />
    	<assemblyIdentity name="Telerik.Sitefinity.Mvc" publicKeyToken="b28c218413bdf563" />
    	<bindingRedirect oldVersion="" newVersion="10.1.6503.0" />
    	<assemblyIdentity name="Telerik.Sitefinity.Services.Events" publicKeyToken="b28c218413bdf563" />
    	<bindingRedirect oldVersion="" newVersion="10.1.6503.0" />
    	<assemblyIdentity name="Telerik.Sitefinity.Model" publicKeyToken="b28c218413bdf563" />
    	<bindingRedirect oldVersion="" newVersion="10.1.6503.0" />
    	<assemblyIdentity name="Telerik.Sitefinity.Utilities" publicKeyToken="b28c218413bdf563" />
    	<bindingRedirect oldVersion="" newVersion="10.1.6503.0" />

3. Create an Encryption Key

The GConnector encrypts your Gigya credentials using AES and stores them securely in the database.

In order to do this, you need to provide a secret string – this can be any string you want. The Gigya Connector will create an encryption key based on this string and use it to encrypt your Gigya credentials.

To provide the string:

  1. Go to your site's root directory and edit the web.config file.
  2. Choose one of the following options:
    • Option 1: Specify the string directly in the web.config file by adding a line like the following in the <appSettings> section. Instead of "my secret" enter a string of your choice.

      <add key="Gigya.Encryption.Key" value="my secret" />
    • Option 2: Specify the full path or relative path to a text file that contains the secret string by adding a line like the following in the <appSettings> section. You specify a relative path by using a tilde "~", e.g.: ~/App_Data/key.txt.:

      <add key="Gigya.Encryption.KeyLocation" value="\\server1\share\key.txt" />
  3. Save your changes.

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 CMS configuration settings.

4. Configure Gigya Connector Settings

Authentication Protocol in Sitefinity 10.0 only

If you are setting up the GConnector for Sitefinity 10.x, you need to change the authentication protocol to SimpleWebToken: 

  1. In Sitefinity's backend, go to Administration > Settings > Advanced.
  2. Under Authentication protocol, make sure that SimpleWebToken is selected.
  3. Under Security, change the AuthenticationMode to Forms

  4. Save changes.
  5. Reset your IIS application pool.

Gigya Settings

To configure the GConnector settings, in the Sitefinity Dashboard, go to Administration > Settings > Gigya.

See the table below for descriptions of all the additional settings.

 Click to enlarge screenshot



Parameter Name



The Gigya API Key for your site, as it is displayed in the Gigya admin console in the Dashboard screen (see screenshot).

Click image to enlarge

Application Key

The Gigya Application Key that the Gigya Connector will use to connect to Gigya. See instructions for creating an Application Key.

Application Secret

The Gigya Application Secret that was generated for you along with the Application Key.

This value will be encrypted in the database.


Select the language that Gigya interface elements, such as screen-sets, will be displayed in.

Special options:

  • Select Other if your desired language does not appear in the list but it is supported by Gigya (e.g. a language that Gigya added after the current version of the Gigya Connector was released). You will then be able to enter the language code in a text box.
  • Select Auto to have the Gigya Connector choose the language based on the page language in the CMS.

Default: English.

Language Fallback

If you have set Language to Auto, select the language to be used if the page language is not supported by Gigya. Default: English.

For a list of the languages in which Gigya is available see Advanced Customizations and Localization.

Data Center

Select the Gigya Data Center with which your site is associated. See Finding Your Data Center for more information.

In the event that Gigya has added support for a new data center, and the GConnector has not yet been updated to reflect this change, select Other and specify the full URL of your Data Center in the text box that is displayed.

Redirect URL

A URL that the user will be redirected to after logging in or registering. If left blank, the current page will be reloaded.

Logout URL

A URL that the user will be redirected to after logging out. If left blank, the current page will be reloaded.

Session ManagementSelect whether user login sessions are led by Gigya or by the CMS. If Gigya leads the session, you may also want to configure the session expiration. If the CMS leads the session, some additional configuration may be required.

Session Expiration

The maximum Gigya login session length (in seconds). Default is 0, meaning that when Gigya manages the session, the user session expires when the browser is closed. See Session Management and Expiration below for more information. When the session is led by the CMS, you should set a relatively long Gigya session.

The license could not be verified: License Certificate has expired!

Global parameters

Any extra parameters to configure Gigya. These parameters will set Gigya's Global Conf object and should be specified in JSON format. See the Global Conf documentation for information on which parameters are available. For example:

{ "enabledProviders": "facebook,twitter" }

Global Parameters settings override any other settings. For example, if you set a session expiration value using the Global Parameters field, this will override whatever you set in the Session Expiration field. Use this field carefully.

Field Mapping

A table specifying which Gigya user data fields will be imported into the CMS. See the Field Mapping section below.

Debug Mode

Check to write debug information to the logs. See the Logs section below.

Enable Module

Uncheck to disable the Connector and prevent Gigya widgets from being rendered. Keep this checked to allow the Connector to work.



















Session Management

The session management configuration allows you to choose whether Gigya controls the session, or Sitefinity. 

Configuring Session Management

  1. Open the Gigya Settings page of the GConnector: Administration > Settings > Gigya.
  2. Under Session Management, choose between Gigya and Sitefinity. If your site group includes single sign-on (SSO), Gigya should lead the session.
  3. If you selected Gigya, open the dropdown to select the method for managing the session. For more information on Gigya sessions, see Managing Session Expiration. The available options are:
    • Sliding session: This is the recommended setting for SSO. The session will last as long as the specified session duration (specified in the Session Duration field), and is refreshed upon every server interaction.
    • Fixed duration: The session will last as long as the specified session duration (specified in the Session Duration field).
    • Valid forever
    • Until browser closes
  4. Save your settings.

Most of the session settings require additional configuration on Sitefinity.

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.

Sitefinity Session Configurations

  • It's important to note that Gigya's session is configured in seconds, whereas Sitefinity's is in minutes.
  • No additional configuration is required if the session configuration is set to Until browser closes.

The following setting is relevant only if the session is configured to Sliding:

  1. In Sitefinity settings, go to Authentication > RelyingParty.
  2. Update the Authentication cookie expiration time to match Gigya's. For example, if you defined 120 seconds for Gigya's sliding session, you should set the value here to '2'. 

The following setting is relevant to the SlidingFixed duration, and Valid forever settings:

  1. In the Sitefinity settings, open Security.
  2. Make sure the AuthenticationMode is set to 'Forms'.
  3. Update the values of AuthCookieTimeout and BackendUsersSessionTimeout:
    • If the session is set to Sliding or Fixed, the value (in minutes) should match the duration configured for Gigya (in seconds). For example, if Gigya sessions were set to 120 seconds, the value here should be '2' for both fields.
    • If the session is set to Valide forever, the value should be 9999999.
  4. If the session is set to Sliding, make sure the AuthCookieSlidingExpiration box is checked. If the session is set to Fixed, make sure the AuthCookieSlidingExpiration box is unchecked.

Update the web.config File

  1. Open the web.config file in the site's root folder.
  2. Update the timeout setting: 

    <authentication mode="None">
    		<forms timeout="2" /> -- timeout in minutes which should be the same as Gigya's timeout (which is specified in seconds).


    • For Sliding and Fixed durations, enter the same duration specified in the Sitefinity settings, in minutes.
    • For the Valid forever setting, enter 9999999:

      <authentication mode="None">
      	<forms timeout="9999999" /> 
  3. Restart Sitefinity.

Multisite and Global Settings

In a multisite environment you can use the global settings page to configure multiple sites quickly.

To configure global settings:

  1. In the Sitefinity dashboard, go to Administration > Settings > Gigya.
  2. In the left sidebar, select Global Settings.
  3. Choose your settings as needed and click Save Settings.

All your sites will inherit the global settings automatically.

If you have one or more sites that require their own settings, different from the global ones, configure them as follows:

  1. In the Sitefinity dashboard, go to Administration > Settings > Gigya.
  2. On the top of the page, you will see a message saying: "These settings are inherited from the Global Settings". Click the Break Inheritance button below the message.
    Click to enlarge screenshot

  3. Specify the settings for the site as needed and click Save Settings.

5. Implement the Gigya Widgets

The Connector creates five widgets: Gigya Settings, Gigya Login, Gigya Logout, Gigya Register, and Gigya Edit Profile.

Gigya Settings Widget

The Gigya Settings widget must be present on every page as this is what renders the Gigya JavaScript.

This widget does not have any settings to configure.

Pages in Sitefinity are based on an MVC or WebForms template, or a hybrid template which supports both MVC and WebForms widgets. The Gigya Settings widget can be added only to pages that support MVC: MVC-only pages, or hybrid pages. Apply the following instructions according to the template used for the page.

Adding the Widget to MVC Pages

We recommend adding the Gigya Settings widget directly to the code, rather than adding separately to each template, as it only needs to be done once. This can only be done for in Pure MVC mode. 

To add the Gigya Settings widget directly to the code:

  1. Find the Razor layout file that your site uses. If you haven’t done any customization Sitefinity will use the default.cshtml template which is located at \ResourcePackages\Bootstrap\MVC\Views\Layouts.
  2. In the head section of the view, add @Html.Action("Index", "GigyaSettings")
    Your head section should now look something like:

        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <meta charset="utf-8" />
        @Html.StyleSheet(URL.Content("~/ResourcePackages/Bootstrap/assets/dist/css/styles.min.css"), "head")
        @Html.Action("Index", "GigyaSettings")

Adding the Widget to Hybrid Pages

Adding the Gigya Settings widget to hybrid pages can only be done in the Sitefinity admin UI, and not in the code. To do so: 

  1. In Sitefinity, open Design > Templates. 
  2. Click on the relevant hybrid tempate. 
  3. Under Drag Widgets on the right hand side, scroll down and open the Gigya menu. 
  4. Drag the Gigya Settings widget and drop it into the topmost section of the template. 
  5. Publish the template. 

After publishing the template, you can create pages based on this template and add the Gigya Login, Gigya Registration and Gigya Edit Profile widgets to those pages. 

To learn more about the hybrid template, see Sitefinity documentation.

Gigya Login, Gigya Register, and Gigya Edit Profile Widgets

These widgets render Gigya's Login screen-set, Gigya's Registration screen-set, and Gigya's Edit Profile screen-set, respectively. See RaaS - Default Screen-Set Flows for an introduction to these screen-sets.

The screen-sets can be either directly embedded in the page or rendered as a login button that the user can click to bring up a pop-up window.

The following screenshot shows a Sitefinity site with the Gigya Register widget configured to render a button saying "Register now". The user has clicked "Register Now" and Gigya's registration screen-set is displayed in a pop-up:

Gigya LoginClick to enlarge screenshot

Gigya RegisterClick to enlarge screenshot

Gigya Edit ProfileClick to enlarge screenshot

To use the widgets, drag a widget onto the page and click Edit to change the settings:

Redirect Page (After Login)

Specify a URL that the user will be redirected to after logging in or registering. Leave blank to use to use the URL specified in the Connector Settings.

Screen-SetIf you have a custom screen-set that you want to use instead of the Gigya default screen-set (there is a default screen-set for Login/Registration and a default one for Edit Profle), specify its name here.
Mobile Screen-SetIf you have a screen-set that you want to use for mobile devices instead of the Gigya default, specify its name here. The default Gigya screen-sets are responsive and work for both desktop and mobile devices.
Start ScreenSpecify the first screen to display, if it is different than the default start screen of your chosen screen-set.
Embedded Screen or ButtonSelect whether to display the screen-set embedded in the page or to display a button which, when clicked, will bring up the screen-set in a pop-up window.
Button LabelIf you chose Button: specify the text of the button.
Generate ContainerIf you chose Embedded: check this checkbox to have an HTML container generated for the screen-set to be displayed in. Uncheck it to use an existing container.
Container IDIf you chose Embedded and unchecked Generate Container: specify the ID of an existing HTML element on the page (usually a DIV) in which you want the screen-set to be displayed.

The look of the buttons can be customized. See Customizing the Widget Buttons below.

Gigya Logout

This widget renders a customizable Logout button on the page:

To use the widget, drag it onto the page and click Edit to change the settings:

Logout Page (After Logout)

Specify a URL that the user will be redirected to after logging out through this button. Leave blank to use the URL specified in the Connector Settings.

Button Label

Specify the text of the button.

The look of the buttons can be customized. See Customizing the Widget Buttons below.

Removing the Connector

You can deactivate the GConnector as follows: 

  1. In the Sitefinity Dashboard, go to Administration > System > Modules and Services.
  2. Scroll down to "Gigya Module" and select Actions > Deactivate.

Afterward you may remove the GConnector DLL files from the bin folder.


Customizing the Widget Buttons

Look and Feel

The look and feel of the Gigya Login, Gigya Logout, Gigya Register, and Gigya Edit Profile widget buttons can be customized using CSS.

Error Message

When the widgets encounter an error they display a generic error message: ""Sorry an error occurred. Please try again.". This message can be configured through Sitefinity's label management pages. For an introduction to labels, see the Sitefinity documentation.

To modify the error message:

  1. In the Sitefinity Dashboard, go to Administration > System > Labels & Messages.
  2. In the Filter by type sidebar on the right, select Gigya.
  3. In the list on the left, click the ErrorMessage label. 
  4. In the Edit Label page, enter the new text in the desired language(s) and select Save Changes.

HTML Markup

For more advanced customization, you can change the HTML markup of the Gigya Login, Gigya Logout, Gigya Register, and Gigya Edit Profile widgets manually, by creating a new Index.cshtml view in your web project at the appropriate place shown below. In that case the Connector will load the customized view instead of the default. An overridden view should still render the same hidden values as the default and maintain the same IDs, as these are used by the client side script to attach event handlers.

WidgetView LocationDefault View Source Code
Gigya Login\Mvc\Views\GigyaLogin\Index.cshtml
@model Gigya.Module.Mvc.ViewModels.GigyaLoginViewModel
@if (!string.IsNullOrEmpty(Model.ContainerId)) {
	<div id="@Model.GeneratedContainerId"
data-gigya-container-id="@Model.ContainerId" class="gigya-embedded-screen" data-gigya-screen="@Model.ScreenSet"
data-gigya-mobile-screen="@Model.MobileScreenSet" data-gigya-start-screen="@Model.StartScreen"></div> } else { <button type="button" data-gigya-screen="@Model.ScreenSet"
data-gigya-mobile-screen="@Model.MobileScreenSet" data-gigya-start-screen="@Model.StartScreen" class="gigya-login">
@Model.Label</button> } <input type="hidden" class="gigya-logged-in-url" value="@Model.LoggedInUrl" />
Gigya Register\Mvc\Views\GigyaRegister\Index.cshtml
@model Gigya.Module.Mvc.ViewModels.GigyaRegisterViewModel
@if (!string.IsNullOrEmpty(Model.ContainerId)) {
	<div id="@Model.GeneratedContainerId" 
class="gigya-embedded-screen" data-gigya-screen="@Model.ScreenSet"
data-gigya-mobile-screen="@Model.MobileScreenSet" data-gigya-start-screen="@Model.StartScreen"></div> } else { <button type="button" class="gigya-register"
data-gigya-screen="@Model.ScreenSet" data-gigya-mobile-screen="@Model.MobileScreenSet" data-gigya-start-screen="@Model.StartScreen">@Model.Label</button> } <input type="hidden" class="gigya-logged-in-url" value="@Model.LoggedInUrl" />
Gigya Edit Profile\Mvc\Views\GigyaEditProfile\Index.cshtml
@model Gigya.Module.Mvc.ViewModels.GigyaEditProfileViewModel
@if (!string.IsNullOrEmpty(Model.ContainerId)) {
	<div id="@Model.GeneratedContainerId" class="gigya-embedded-screen"
data-gigya-container-id="@Model.ContainerId" data-update-profile="true" data-gigya-screen="@Model.ScreenSet"
data-gigya-mobile-screen="@Model.MobileScreenSet" data-gigya-start-screen="@Model.StartScreen"></div> } else { <button type="button" class="gigya-edit-profile"
data-gigya-screen="@Model.ScreenSet" data-gigya-mobile-screen="@Model.MobileScreenSet"
@Model.Label</button> }
 Gigya Logout\Mvc\Views\GigyaLogout\Index.cshtml
@model Gigya.Module.Mvc.ViewModels.GigyaLogoutViewModel
<button type="button" class="gigya-logout">@Model.Label</button>
<input type="hidden" class="gigya-logged-out-url" value="@Model.LoggedOutUrl" />

Roles and Permissions

When you install the Connector, it creates a new role called Gigya Major Admin.  The Application Secret can only be modified by Administrators and users with the Gigya Major Admin role.

To grant a user the Gigya Major Admin role:

  1. In the Sitefinity Dashboard, go to Administration > User Management > Users.
  2. Select the desired user from the list.
  3. In the Edit User page, scroll down to the Roles section and select the Gigya Major Admin checkbox.
  4. Click Save Changes.

Field Mapping

By default, the Gigya Connector maps the following fields from Gigya to Sitefinity for every user:

  • UID - mapped to Sitefinity's UserId field. 
  • First name
  • Last name
  • email

To have additional fields mirrored into Sitefinity:

  1. In the Sitefinity Dashboard, go to Administration > Settings > Gigya.
  2. Under Field Mapping, click Add new mapping.

  3. Specify the Gigya field name that you want to mirror, e.g.

    Gigya offers a variety of user data fields, divided into three objects:
     DescriptionHow to Refer to These Fields
    Account object (see documentation)The main Account object contains general fields such as the Gigya UID, time created, last login etc.
    It also contains the Profile and Data objects.
    Profile Object (see documentation)Holds personal data such as name, gender, age, address and more.profile.<fieldname>
    Data objectCan be used to hold custom data about the<fieldname>

    The field you specify cannot be a complex object or array such as profile.phones. To map arrays and objects, use a hook function (see Using Hooks for Advanced Field Mapping).

  4. Specify the name of the Sitefinity field into which you want to mirror the data. See Sitefinity User Profiles for information about user fields in Sitefinity.


  • If the field type in Gigya doesn't match the field type in Sitefinity, the Connector will cast the value into the Sitefinity field type.
  • Make sure the field length in Sitefinity corresponds with what has been set in Gigya. If you attempt to add 100 characters from Gigya into 50 characters in Sitefinity, the fields won’t be updated from Gigya. An exception will be thrown and added to the Sitefinity logs.
  • In a multisite environment, you have the option of setting a global field mapping, and then overriding it for specific sites that need their own mapping.

Using Hooks for Advanced Field Mapping

Before a field value from Gigya is mirrored into Sitefinity, it can be modified by adding code that responds to Gigya's event. This allows you to customize your field mapping even further and to deal with complex object fields and/or fields that require reformatting.

For example, say you want to save the user's birth date in a Sitefinity field called birthDate (type: DateTime). Gigya does not have a birth date field; instead, it offers three fields called "profile.birthDay", "profile.birthMonth", and "profile.birthYear".

To map Gigya's birthDay, birthMonth and birthYear fields into a single Sitefinity field, do the following:

  1. Add this "dummy" or "placeholder" field mapping in the Gigya Settings page:

  2. Add event-based code that will be carried out whenever "profile.birthDay" is being imported from Gigya. This code modifies profile.birthDay into a DateTime value that is composed of profile.birthDay, profile.birthMonth, and profile.birthYear. This new value will then be saved in the Sitefinity field BirthDate according to the Field Mapping settings.

    Set the GigyaValue property of the IMapGigyaFieldEvent object to the value that you want saved to Sitefinity. Make sure the event is only subscribed to if e.CommandName == "RegisterRoutes" as Sitefinity fires the Initialized event multiple times.

    See the code below for an example of how to implement this. Usually this code would be added to Global.asax.cs:

    protected void Application_Start(object sender, EventArgs e) {
    	Bootstrapper.Initialized += Bootstrapper_Initialized;
    private void Bootstrapper_Initialized(object sender, Telerik.Sitefinity.Data.ExecutedEventArgs e) {
    	if (e.CommandName == "RegisterRoutes") {
    private void GigyaMembershipHelper_MapGigyaField(IMapGigyaFieldEvent @event) {
        switch (@event.GigyaFieldName) {
    		case "": {
    			if (@event.GigyaValue != null) {
    			var value = @event.GigyaValue.ToString();
    			@event.GigyaValue = value == "United Kingdom" ? 826 : 0;
        var profile = @event.GigyaModel.profile;
        switch (@event.SitefinityFieldName){
    		case "BirthDate":
    			@event.GigyaValue = new DateTime(Convert.ToInt32(profile.birthYear), Convert.ToInt32(profile.birthMonth), Convert.ToInt32(profile.birthDay));

Limitations and Development Considerations

Digital Experience Cloud

No custom code has been added to enhance the Digital Experience Cloud (DEC). Using out of the box functionality, Sitefinity pushes user data into DEC, although this can be extended to include more data and user actions.

See Sitefinity’s Digital Experience Cloud documentation.

Known Issue: A problem in Digital Experience Cloud causes DEC data to be merged for different Gigya users who log in from the same browser on a shared computer. A ticket has been opened for DEC support.


  • Sitefinity’s default output cache policy is two minutes. The Gigya Login, Gigya Logout, Gigya Register, and Gigya Edit Profile widgets uses a custom controller that disables the cache.The Gigya Settings widget will be cached by Sitefinity which means that the global parameters, API key, language and session timeout from the settings page will be cached for a default time of two minutes.To change this behavior, you can update the type attribute of the Gigya Settings widget in ToolboxesConfig.config to match the type attribute of Gigya Login/Logout Button.
  • When the module is installed, the 2 widgets mentioned above are added to the ToolboxesConfig.config file in a section named Gigya.If you wanted to you could override these controllers and create your own versions.This would be done by creating a new class that inherits from the controller you want to override and updating the controllerType property.
  • When a user performs Gigya actions (login, logout, profile update) the gigya-sitefinity.js script is used to call an AccountController. The path to this is specified at gigyaSitefinity.baseURL: '/api/gigya/account/'. This could also be overridden to us a custom controller.

Note on Sitefinity Upgrades: When a new Sitefinity version is released, a new Sitefinity Project Manager is available for download. This will guide the developer through the upgrade process.

UID-Based Sync

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

Single Sign-On (SSO)

Gigya Single Sign-On (SSO) is supported. See Site Groups and Single Sign-On for more information.


User Deletion

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


Download the Delete Sync module package from: 

Gigya Developer Downloads

Follow the installation guide from to install the Nuget package.


Once the module is installed you can configure your settings by logging into Sitefinity and going to Administration -> Settings -> Gigya Delete Sync.


The following fields are available on the Gigya Settings template:

Field NameDescription
EnabledWhether the module is enabled.
ActionThe delete action to take – either full deletion or delete notification.
Delete Job FrequencyHow often to run the job in minutes.
Number of attempts for each fileThe max number of attempts to process the file.   A file will only be retried if all the UID’s failed.
Email on successA comma-separated list of emails that will be notified when the job completes successfully.
Email on failureA comma-separated list of emails that will be notified when the job completes with errors.
S3 bucket nameAWS S3 bucket name that contains the UID files.
S3 access keyAWS S3 access key.
S3 secret keyAWS S3 secret key that is encrypted. Only Adminstrators and users with the Gigya Major Admin role can edit and view this field.
S3 object key prefixAWS S3 object key prefix.
S3 region

AWS S3 region e.g.,

  • eu-west-2


After installation you will need to create 2 new profile fields if you which to support “Delete Notification” mode.   This mode doesn’t physically delete the user but marks them as deleted.   To create the fields, login to Sitefinity and click on Administration -> Users -> Manage Profile types (under the Settings for Users menu).   Click the profile that is being used.   In the Custom Fields section, create 2 new fields:

Field NameType
GigyaDeletedDateDate and Time
IsDeletedYes / No



To subscribe to an event which is fired whenever a user is about to be deleted you can use Gigya.Module.DeleteSync.Events.Instance.DeletingUser.

When the event is fired you will receive an event args object with these parameters:

UidThe Gigya UID of the user being deleted.
ActionAn enum showing the type of deletion (soft or hard delete).
CmsUidA Guid of the Id of the user in the CMS.
ContinueWithDeletionSet this to false to abort the deletion of the user.


To subscribe to an event which is fired whenever a user has been deleted you can use Gigya.Module.DeleteSync.Events.Instance.DeletedUser.

When the event is fired you will receive an event args object with these parameters:

UidThe Gigya UID of the user being deleted.
ActionAn enum showing the type of deletion (soft or hard delete).
CmsUidA Guid of the Id of the user in the CMS.


User Delete Troubleshooting

Ensure there are no firewall restrictions blocking access to Amazon’s S3 server.

Delete Sync Settings are stored in the sf_gigya_delete_sync_settings table.

Delete Sync Logs are stored in the sf_gigya_delete_sync_logs table. Delete an entry from this table if you want the same file to be processed again.



The Gigya Connector writes its logs into the Sitefinity log files (which can be viewed at <site root>/App_Data/Sitefinity/Logs/).

Each log entry related to Gigya starts with "[Gigya]:".

The Connector has two logging modes:

  • Regular mode: error messages from Gigya are logged into the error.log file in the Logs folder.
  • Debug mode: all calls to the Gigya API and responses from Gigya are logged into debug.log file in the Logs folder.
    See the following screenshot for an example debug.log entry:
    Click screenshot to enlarge

To enable/disable Debug mode:

  1. In the Sitefinity Dashboard, go to Administration > Settings > Gigya.
  2. Check or uncheck the Debug Mode checkbox.

Following is a list of possible log messages:

ScenarioMessageLog Type
Attempt to login or register when RaaS disabledRaaS not enabled so login aborted.Debug
Invalid signature from clientInvalid user signature for login request.Debug
Attempt to update profile when RaaS disabledRaaS not enabled so login aborted.Debug
User authenticated with SitefinityUser [UserId] successfully logged into Sitefinity.Debug
Invalid edit profile request from the clientInvalid login request. ModelState Errors:Debug
Invalid login request from the clientInvalid login request. ModelState Errors:Debug
User logged outcurrentIdentity.Name + " successfully logged out."Debug
Attempt to render settings widget while RaaS disabledRaaS disabled so GigyaSettings not added to page.Debug
Signature from Gigya RESTful call is invalidInvalid user signature for login request. API call: {0}. CallId: {1}.Debug
Gigya RESTful call requestRequest API call:Debug
Gigya RESTful call responseResponse from API call: {0}. CallId: {1}. Response: {2}.Debug
Gigya field value is null so Sitefinity field not updatedGigya field \"{0}\" is null so profile field not updated.Debug
Sitefinity field doesn't exist but has been mapped on the settings pageSitefinity field \"{0}\" not found.Debug
Field type mismatch - after writing the Gigya value to Sitefinity profile object the updated value is checked against Gigya's value.Sitefinity field [{0}] type doesn't match Gigya field [{1}] type. You may need to add a conversion using EventHub.Subscribe<IMapGigyaFieldEvent>Error
Error occurred when calling getAccountInfo from the serverFailed to getAccountInfoError
User couldn't be logged into SitefinityUser [{0}] not logged into Sitefinity. Reason: {1}.Error
Gigya API key not specified on settings pageGigya API key not specified. Check settings on Administration -> Settings -> GigyaError
Exception thrown when calling RESTful methodAPI call: {0}. CallId: {1}. Error: {2}.Error
Exception thrown updating Sitefinity profileFailed to update profile for userId:Error
Exception thrown trying to set Sitefinity profile fieldCouldn't set Sitefinity profile value for [{0}] and gigya field [{1}].Error
Exception thrown trying to update Sitefinity profile after creationFailed to create profile for userId:Error




  • 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 should re-enter the application secret.



Sitefinity-Related Troubleshooting

  • Turn on Debug mode in the settings page and check the debug logs. Also, check Sitefinity's error log. Logs can be found in ~/App_Data/Sitefinity/Logs.
  • To check if the GConnector is installed, open the browser developer tools. In the console, run gigyaSitefinity. If an error is displayed, the connector is not installed. 
  • If there are compilation issues after installing the module, install the latest Nuget versions of Newtonsoft.Json and Microsoft.Owin.Host.SystemWeb.

  • If you are experiencing login issues, open the browser developer tools. In the network tab, check the response to the login request. This should start with /api/gigya/account and the expected response code is 200. If this is the case, the login issue is unrelated to Gigya. 
  • If the login button widget isn’t rendering, check that Enable RaaS has been set to true on the settings page for the current site (or global settings if they are inherited).
  • If there is a "gigyaSitefinity is undefined" JavaScript error, make sure the Gigya settings widget has been added to the page or template in Sitefinity or directly to the layout page in code.
  • If the Login/Logout buttons aren’t working, check that you haven’t overridden the Connector views and changed some of the button id’s.
  • If a Gigya field is not being saved to Sitefinity, check the field mappings on the settings page. Make sure the names are correct and they are the same type e.g. don’t try to map a Gigya field that’s a string to a Sitefinity int. If this is attempted and debug mode is enabled, it will be logged.
  • Use gigyaSitefinity.authenticated to check if the user session is active in Sitefinity.
  • If changes in configuration don't show up in Sitefinity, restart the app pool. If you are running the system locally, do this by compiling the code. 
  • To check which template a page is using, open the page in Sitefinity and click on the Layout tab.
  • Make sure that all the details in the Gigya Settings page are correct. 
  • Ensure that there are no firewall rules preventing access to and from Gigya's servers. 
  • If you are using load balancing, ensure that you have followed Sitefinity's load balancing guide. If Sitefinity is not correctly configured for load balancing, you will see issues where a user appears logged into one server, but are logged out after the request hits the other server. 
  • In a load balanced setup, double-check to make sure you comply with the configure security Sitefinity guidelines. 

The license could not be verified: License Certificate has expired!