If Twitter is specified as the the external identity provider, a subset of Twitter provider attributes can be used as the mapping attribute placeholder value.

The placeholder value must use the following syntax:

${providerAttributes.<Twitter attribute name>}

When you create a new Twitter identity provider entity, the POST request automatically maps the PingOne username attribute to the Twitter id attribute. The username attribute is the core mapping attribute; the default Twitter attribute value is id. It is also recommended that you map the PingOne email attribute to the Twitter email attribute.

The request body for the email-to-email mapping looks like this, with the value attribute showing the Twitter email attribute expressed using the placeholder syntax:

{
    "name": "email",
    "update": "EMPTY_ONLY",
    "value": "${providerAttributes.email}"
}

The POST /environments/{environmentId}/identityProviders operation adds a new identity provider resource to the specified environment.

When the type property value is set to TWITTER, Twitter’s clientId and clientSecret property values are required in the request body.

Twitter identity provider settings data model

Property Description
clientId A string that specifies the application ID from Twitter. This is a required property.
clientSecret A string that specifies the application secret from Twitter. This is a required property.

Twitter core attributes

Property Description
id A string that specifies the core Twitter attribute. The default value is ${providerAttributes.id} and the default update value is EMPTY_ONLY.

Twitter provider attributes

Permission Provider attributes
{no defined permission} Options are: id, email, name, screen_name, created_at, statuses_count, favourites_count, friends_count, followers_count, verified, protected, description, url, location, profile_image_url_https