SAP Gigya

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

Integration with LogicHub

Connecting with SAP Gigya

To connect to Gigya following details are required:

  • Label: 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.
  • 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)

Actions with 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.

Inputs to this Action:

  • Connection: Choose a connection that you have created.
  • Login ID: Select column that contains Login ID to check

Output of Action:
correlated rows of result json containing following items:

  • 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.

Inputs to this Action:

  • Connection: Choose a connection that you have created.
  • UID: Select a column that contains the unique ID of the user. One UID or Registration Token should be provided.
  • Registration Token: Select 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.
  • Include Fields (Optional): A 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)
  • Extra Profile Fields (Optional): A 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.

Output of Action:
correlated rows of result json containing the following items:

  • 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.

Inputs to this Action:

  • Connection: Choose a connection that you have created.
  • UID: Select a column that contains the unique ID of the user. One UID or Registration Token should be provided.
  • Registration Token: Select 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 Password (Optional): Select column that contains the old password to be changed.
  • Security Override (Optional): Select 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.
  • New Password (Optional): Select the column that contains the new password to replace the old one.
  • Set Random Password (Optional): Select 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]
  • Mute Webhooks (Optional): Select option True/False to the mute triggering of the Webhooks as a result of executing this action. (Default is False)
  • RBA (Optional): Jinja-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}

Output of Action:
correlated rows of result json containing the following items:

  • 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.

Inputs to this Action:

  • Connection: Choose a connection that you have created.
  • UID: Select column that contains the unique ID of the user to logout of your site.

Output of Action:
correlated rows of result json containing the following items:

  • 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.

Inputs to this Action:

  • Connection: Choose a connection that you have created.

Output of Action:
a row of result json containing the following items:

  • 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.

Inputs to this Action:

  • Connection: Choose a connection that you have created.
  • API Key: Select column that contains the API key of the site (or site-group) that contains the user or IP address to unlock.
  • Login ID: Select 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
  • UID: Select column that contains the UID of the user whose account is to be unlocked. One of UID/IP/Login ID should be provided
  • IP: Select column that contains the IP address to unlock. One of UID/IP/Login ID should be provided

Output of Action:
correlated rows of result json containing the following items:

  • 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"
}

Did this page help you?