Twilio OTP Delivery Mechanism

Note: this component is designated "advanced", which means that objects of this type are not expected to be created or altered in most environments. If you believe that such a change is necessary, you may want to contact support in order to understand the potential impact of that change.

The Twilio OTP Delivery Mechanism may be used to deliver one-time passwords to users via SMS through the Twilio web service, using a phone number stored in a specified attribute from the user's entry.

Parent Component Relations from This Component Properties dsconfig Usage

Parent Component

The Twilio OTP Delivery Mechanism component inherits from the OTP Delivery Mechanism

Relations from This Component

The following components have a direct aggregation relation from Twilio OTP Delivery Mechanisms:

Properties

The properties supported by this managed object are as follows:


Basic Properties: Advanced Properties:
 description  None
 enabled
 http-proxy-external-server
 twilio-account-sid
 twilio-auth-token
 twilio-auth-token-passphrase-provider
 phone-number-attribute-type
 phone-number-json-field
 phone-number-json-object-filter
 sender-phone-number
 message-text-before-otp
 message-text-after-otp

Basic Properties

description

Description
A description for this OTP Delivery Mechanism
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

enabled

Description
Indicates whether this OTP Delivery Mechanism is enabled for use in the server.
Default Value
None
Allowed Values
true
false
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

http-proxy-external-server

Description
A reference to an HTTP proxy server that should be used for requests sent to the Twilio service.
Default Value
No HTTP proxy server will be used.
Allowed Values
The DN of any HTTP Proxy External Server.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

twilio-account-sid

Description
The unique identifier assigned to the Twilio account that will be used.
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

twilio-auth-token

Description
The auth token for the Twilio account that will be used.
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

twilio-auth-token-passphrase-provider

Description
The passphrase provider that may be used to obtain the auth token for the Twilio account that will be used.
Default Value
None
Allowed Values
The DN of any Passphrase Provider.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

phone-number-attribute-type

Description
The name or OID of the attribute in the user's entry that holds the phone number to which the message should be sent. If the specified attribute type has a JSON object syntax (for example, the ubidPhoneNumberJSON attribute), then the phone-number-json-field property must be used to specify the name of the top-level field that holds the phone number, and the phone-number-json-object-filter property may optionally be used to provide a JSON object filter to determine which (if any) number should be used.
If the attribute type does not have a JSON object syntax, then the attribute value is expected to be a valid phone number. If the attribute has multiple values, the first value will be selected.
Default Value
mobile
Allowed Values
The name or OID of an attribute type defined in the server schema.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

phone-number-json-field

Description
The name of the JSON field whose value is the phone number to which the message should be sent. The phone number must be contained in a top-level field whose value is a single string. If this is present, then the attribute type specified in the phone-number-attribute-type property must have a JSON object syntax. Each value of the specified attribute type must contain information about a single phone number, and if there are multiple values for that attribute then the first value that contains a value for the specified field (and that matches the filter specified in the phone-number-json-object-filter property, if present) will be selected.
If the ubidPhoneNumberJSON attribute type is to be used, then the field name should be "value".
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

phone-number-json-object-filter

Description
A JSON object filter that may be used to identify which phone number value to use when sending the message. If this is present, then the attribute type specified in the phone-number-attribute-type property must have a JSON object syntax, and the phone-number-json-field property must be used to specify which field contains the phone number value.
This property may be useful in cases in which the JSON object containing the phone number also includes other information that might be useful in determining whether that number is suitable for use. For example, if the ubidPhoneNumberJSON attribute type is to be used, then it may be desirable to only consider sending messages to phone numbers with a type of "mobile" that are marked as verified. In that case, a filter of
(ubidPhoneNumberJSON:jsonObjectFilterExtensibleMatch:={ "filterType":"and", "andFilters":[ { "filterType":"equals", "field":"type", "value":"mobile" }, { "filterType":"equals", "field":"verified", "value":true } ] })

may be used.
If the target attribute type has multiple values that match the filter, then the first matching value will be used.
See the "Managing JSON Attribute Values" section of the administration guide, or the Javadoc documentation for the com.unboundid.ldap.sdk.unboundidds.jsonfilter.JSONObjectFilter class, for more details on creating and using JSON object filters.
Default Value
None
Allowed Values
A valid LDAP search filter
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

sender-phone-number

Description
The outgoing phone number to use for the messages. Values must be phone numbers you have obtained for use with your Twilio account. If a high message volume is anticipated, then it may be beneficial to provide multiple sender phone number values, which will be used in a round-robin manner. This may help overcome the Twilio limit of one message per outbound phone number per second.
Default Value
None
Allowed Values
A string
Multi-Valued
Yes
Required
Yes
Admin Action Required
None. Modification requires no further action

message-text-before-otp

Description
Any text that should appear in the message before the one-time password value.
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

message-text-after-otp

Description
Any text that should appear in the message after the one-time password value.
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


dsconfig Usage

To list the configured OTP Delivery Mechanisms:

dsconfig list-otp-delivery-mechanisms
     [--property {propertyName}] ...

To view the configuration for an existing OTP Delivery Mechanism:

dsconfig get-otp-delivery-mechanism-prop
     --mechanism-name {name}
     [--tab-delimited]
     [--script-friendly]
     [--property {propertyName}] ...

To update the configuration for an existing OTP Delivery Mechanism:

dsconfig set-otp-delivery-mechanism-prop
     --mechanism-name {name}
     (--set|--add|--remove) {propertyName}:{propertyValue}
     [(--set|--add|--remove) {propertyName}:{propertyValue}] ...

To create a new Twilio OTP Delivery Mechanism:

dsconfig create-otp-delivery-mechanism
     --mechanism-name {name}
     --type twilio
     --set enabled:{propertyValue}
     --set twilio-account-sid:{propertyValue}
     --set sender-phone-number:{propertyValue}
     [--set {propertyName}:{propertyValue}] ...

To delete an existing OTP Delivery Mechanism:

dsconfig delete-otp-delivery-mechanism
     --mechanism-name {name}