SAP Gigya

Version: 2.0.0

Gigya offers a customer identity management platform for managing profiles, preference, opt-in and consent settings.

Connect SAP Gigya with LogicHub

  1. Navigate to Automations > Integrations.
  2. Search for SAP Gigya.
  3. Click Details, then the + icon. Enter the required information in the following fields.
    • Label: Enter a connection name.
    • Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.
    • Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
    • Remote Agent: Run this integration using the LogicHub Remote Agent.
    • API Key: API key for SAP Gigya
    • User Key: User key for SAP Gigya
    • Secret Key: Secret key for SAP Gigya
    • Data Center (Optional): Select Gigya Data Center US/Europe/Australia/Russia/China in case your site has been set up to use a Gigya's data center other than the 'US'. (Default is 'US' Data Center).
  4. After you've entered all the details, click Connect.

Actions for SAP Gigya

Check Login ID Availability

Checks whether a certain login identifier (username/email) is available. A login identifier is available if it is unique in this user management system.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Login IDSelect column that contains Login ID to check.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys of the API response
{
  "has_error": false,
  "error": null,
  "isAvailable": true,
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "b39f31533bb74b96a7cf662afa552155",
  "time": "2015-03-22T11:42:25.943Z"
}

Get Account Info

Gets account data for the specified user.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
UIDSelect a column that contains the unique ID of the user. One UID or Registration Token should be provided.Required
Registration TokenSelect column that contains the regToken. Please note that the regToken you receive from Gigya is valid for only one hour. One UID or Registration Token should be provided.Required
Include FieldsA comma-separated list of fields to include in the response. The possible values are: identities-active, identities-all, identities-global, loginIDs, emails, profile, data, password, isLockedOut, lastLoginLocation, regSource, irank, rba, subscriptions, userInfo, preferences, groups. (Default value is profile,data,subscriptions).Optional
Extra Profile FieldsA comma-separated list of additional social profile fields to retrieve. The current valid values are: languages, address, phones, education, educationLevel, honors, publications, patents, certifications, professionalHeadline, bio, industry, specialities, work, skills, religion, politicalView, interestedIn, relationshipStatus, hometown, favorites, followersCount, followingCount, username, name, locale, verified, timezone, likes, samlData.Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys of the API response
{
  "has_error": false,
  "error": null,
  "UID": "_gid_30A3XVJciH95WE*******7ee3MY+lUAtpVxvUWNseU=",
  "UIDSignature": "HHPLo/TC7KobjnGB7JflcWvAXfg=",
  "signatureTimestamp": "1412516469",
  "loginProvider": "facebook",
  "isRegistered": true,
  "isActive": true,
  "isVerified": true,
  "iRank": 57.3400,
  "loginIDs": {
    "emails": [],
    "unverifiedEmails": []
  },
  "emails": {
    "verified": [
      "*******@gmail.com"
    ],
    "unverified": []
  },
  "socialProviders": "facebook,site",
  "profile": {
    "firstName": "Pinky",
    "lastName": "Ray",
    "photoURL": "https://graph.facebook.com/v2.0/1020445*******25770/picture?type=large",
    "thumbnailURL": "https://graph.facebook.com/v2.0/102*******0325770/picture?type=square",
    "birthYear": 1980,
    "birthMonth": 4,
    "birthDay": 22,
    "profileURL": "https://www.facebook.com/app_scoped_user_id/1020*******25770/",
    "city": "Athens, Greece",
    "gender": "m",
    "age": 34,
    "email": "*******@gmail.com",
    "samlData": {}
  },
  "identities": [
    {
      "provider": "facebook",
      "providerUID": "10204456750325770",
      "isLoginIdentity": true,
      "photoURL": "https://graph.facebook.com/v2.0/1020*******5770/picture?type=large",
      "thumbnailURL": "https://graph.facebook.com/v2.0/102*******5770/picture?type=square",
      "firstName": "Pinky",
      "lastName": "Ray",
      "gender": "m",
      "age": "34",
      "birthDay": "22",
      "birthMonth": "4",
      "birthYear": "1980",
      "email": "*******@gmail.com",
      "city": "Athens, Greece",
      "profileURL": "https://www.facebook.com/app_scoped_user_id/1020*******770/",
      "proxiedEmail": "",
      "allowsLogin": true,
      "isExpiredSession": false,
      "lastUpdated": "2014-10-05T13:35:14.039Z",
      "lastUpdatedTimestamp": 1412516114039,
      "oldestDataUpdated": "2014-10-05T13:35:13.421Z",
      "oldestDataUpdatedTimestamp": 1412516113421
    },
    {
      "provider": "site",
      "providerUID": "_gid_30A3XVJciH*******+lUAtpVxvUWNseU=",
      "isLoginIdentity": false,
      "allowsLogin": false,
      "isExpiredSession": false,
      "lastUpdated": "2014-10-05T13:39:53.455Z",
      "lastUpdatedTimestamp": 1412516393455,
      "oldestDataUpdated": "2014-10-05T13:39:53.455Z",
      "oldestDataUpdatedTimestamp": 1412516393455
    }
  ],
  "data": {
    "hair": "blonde"
  },
  "password": {},
  "created": "2014-09-27T23:47:41.527Z",
  "createdTimestamp": 1411861661527,
  "lastLogin": "2014-10-05T13:35:13.437Z",
  "lastLoginTimestamp": 1412516113437,
  "lastUpdated": "2014-10-05T13:39:53.455Z",
  "lastUpdatedTimestamp": 1412516393455,
  "oldestDataUpdated": "2014-10-05T13:35:13.421Z",
  "oldestDataUpdatedTimestamp": 1412516113421,
  "registered": "2014-09-27T23:47:41.59Z",
  "registeredTimestamp": 1411861661590,
  "verified": "2014-09-27T23:47:41.543Z",
  "verifiedTimestamp": 1411861661543,
  "regSource": "",
  "lastLoginLocation": {
    "country": "IL",
    "coordinates": {
      "lat": 31.5,
      "lon": 34.75
    }
  },
  "rbaPolicy": {
    "riskPolicy": "low",
    "riskPolicyLocked": false
  },
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "e6f891ac17f24810bee6eb533524a152",
  "time": "2015-03-22T11:42:25.943Z"
}

Set Account Info

Sets account data into a user's account.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
UIDSelect a column that contains the unique ID of the user. One UID or Registration Token should be provided.
Registration TokenSelect column that contains the regToken. Please note that the regToken you receive from Gigya is valid for only one hour. One UID or Registration Token should be provided.
Old PasswordSelect column that contains the old password to be changed.Optional
Security OverrideSelect option True/False to perform the action with security override. When set to True, the action does not require the Old Password input field to be set.Optional
New PasswordSelect the column that contains the new password to replace the old one.Optional
Set Random PasswordSelect option True/False to set a random system generated password instead of selecting a column that contains the new password. A random password is generated using 8 characters from [a-zA-Z] and 4 digits from [0-9].Optional
Mute WebhooksSelect option True/False to the mute triggering of the Webhooks as a result of executing this action. (Default is False).Optional
RBAJinja-templated RBA policy input to set RBA policy of the specified user. Available properties include: riskPolicy - Determines the rule set from the defined rules. Sets configured in accounts.rba. setPolicy or one of the default policies. riskPolicyLocked - Determines whether the user can change their own riskPolicy. If true, only an admin can change the user's riskPolicy. Example: {"riskPolicy": "{{risk_policy_string}}", "riskPolicyLocked": true}Optional
Is ActiveJinja-templated text containing the boolean to whether to allow disabling the account (true/false). Example: {{isActive}}Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys of the API response
{
  "has_error": false,
  "error": null,
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "ddb3f8e144c84cb5b1bc5f010bddab2b",
  "time": "2015-03-22T11:42:25.943Z"
}

Logout User

Logs out the specified user from your site across all devices and terminates any active sessions and revokes any active OIDC refresh tokens. This method does not disconnect the user from the social providers, the user's site account remains associated with any connected social accounts, even when logged out. When the user logs in again, full access to all the previously connected providers is restored, i.e. the association remains.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
UIDSelect column that contains the unique ID of the user to logout of your site.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys of the API response
{
  "has_error": false,
  "error": null,
  "connectedProviders": "facebook,site",
  "UID": "17704c1dxxxXXXXxXXxXxXXXxx3126c47",
  "logoutActiveSession": true,
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "15aae327c7874d10ab39e12bec1ff2a2",
  "time": "2017-11-05T09:48:21.968Z"
}

Get RBA Policy

Gets the RBA (Risk-Based Authentication) policy for a site or master site of a group. If the requested API key belongs to a child site of a site-group, the Parent's policy is returned. If there is no existing custom policy currently specified, the default policy is returned.

Input Field

Choose a connection that you have previously created to complete the connection.

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys of the API response
{
  "has_error": false,
  "error": null,
  "policy": {
  "commonRules": [
    {
      "action": {
        "scope": [
          "account"
        ],
        "type": "captcha"
      },
      "rootFactor": {
        "type": "failedLogins",
        "scope": [
          "account"
        ],
        "threshold": 1,
        "resetInterval": 60
      },
      "description": "captcha",
      "enabled": false
    },
    {
      "action": {
        "duration": 60,
        "scope": [
          "account"
        ],
        "type": "lockout"
      },
      "rootFactor": {
        "type": "failedLogins",
        "scope": [
          "account"
        ],
        "threshold": 3,
        "resetInterval": 60
      },
      "description": "account lockout",
      "enabled": true
    },
    {
      "action": {
        "duration": 60,
        "scope": [
          "ip"
        ],
        "type": "lockout"
      },
      "rootFactor": {
        "type": "failedLogins",
        "scope": [
          "IP"
        ],
        "threshold": 5,
        "resetInterval": 60
      },
      "description": "IP lockout",
      "enabled": true
    },
    {
      "action": {
        "authLevel": 20,
        "challenge": "none",
        "type": "TFA"
      },
      "rootFactor": {
        "type": "alwaysChallenge"
      },
      "description": null,
      "enabled": true
    }
  ],
  "rulesSets": [
    {
      "id": "_off",
      "description": "This policy represents a policy without any validations",
      "enabled": true,
      "rules": []
    }
  ],
  "defaultPolicy": "_off",
  "allowOverrideMode": "no"
},
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "0580b6b3e66f4481a76c73d485d0bd5b",
  "time": "2016-10-31T14:54:22.729Z"
}

RBA Unlock

Unlocks either the specified user's account or the specified IP, depending upon which option is chosen.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
API KeySelect column that contains the API key of the site (or site-group) that contains the user or IP address to unlock.Required
Login IDSelect column that contains the loginID of the user whose account is to be unlocked (email or username; dependent upon schema). One of UID/IP/Login ID should be provided.Required
UIDSelect column that contains the UID of the user whose account is to be unlocked. One of UID/IP/Login ID should be provided.Required
IPSelect column that contains the IP address to unlock. One of UID/IP/Login ID should be provided.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • other keys of the API response
{
  "has_error": false,
  "error": null,
  "statusCode": 200,
  "errorCode": 0,
  "statusReason": "OK",
  "callId": "3353d2fbac894289977c102298df60d1",
  "time": "2015-03-22T11:42:25.943Z"
}

Error Result Sample

Error result sample for any of the above actions.

{
  "has_error": true,
  "error": "Error Code: 400002. Error Message: Required parameter is missing",
  "errorCode": 400002,
  "errorDetails": "<error_details>",
  "errorMessage": "Required parameter is missing"
}

Account Search

Account Search.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
QueryJinja-templated text containing the an SQL-like query specifying the data to retrieve. Example: {{query}}Required
QuerySigJinja-templated text containing an HMAC_SHA1 signature proving that the search call is in fact coming from your client application, in order to prevent fraud.Optional
Expiring TimeJinja-templated text containing the GMT time when the signature, provided in the UIDSig parameter, should expire. The expected format is the Unix time format including milliseconds (i.e., the number of seconds since Jan. 1st 1970 * 1000).Optional

Output

JSON containing the following items:

Account Login

Account Login.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Login IDJinja-templated text containing the login ID. Example: {{login_id}}Required
PasswordJinja-templated text containing the password.Required
Captcha TokenJinja-templated text containing the captcha token.Optional

Output

JSON containing the following items:

{
  "statusCode": 200,
  "statusReason": "OK",
  "objectsCount": 300,
  "has_error": false,
  "errorCode": 0,
  "results": [
    {
      "profile": {
        "contactName": "HANNAH"
      }
    },
    {
      "profile": {
        "contactName": "FERNARD"
      }
    },
    {
      "profile": {
        "contactName": "KERRY"
      }
    },
    {
      "profile": {
        "contactName": "RANDY"
      }
    }
  ],
  "error": null,
  "callId": "a86fd33d98224e0daa3a47521272b4e5",
  "totalCount": 11586878,
  "time": "2022-06-24T05:04:06.359Z",
  "apiVersion": 2
}

Release Notes

  • v2.0.0 - Updated architecture to support IO via filesystem
  • v1.2.3 - Added Is Active optional field to Set Account Info action.
  • v1.2.1 - Added 2 new actions: Account Search and Account login.

© Devo Technology Inc. All Rights Reserved.