OTPPostHTTPValve
Note
Valve for delivering one-time passwords by HTTP POST.
Supports configurable SSL protocols and ciphers.
Properties
Name | Description | Default value | Mandatory | Supports property expansion |
---|---|---|---|---|
generated_otp_name | Item property containing the generated otp. | generated_otp | No | No |
recipient_param_name | Property containing the recipient mobile number. | mobile | No | Yes |
userid_param_name | Property containing the username. | User-Name | No | Yes |
url_list | List of URLs to send to. Configured as JSON string array. | Yes | No | |
success_code | HTTP response code for successful POST. | 200 | No | No |
connection_timeout | Timeout in seconds. | 5 | No | No |
body | The body of the POST. | No | No | |
auth_username | Username for auth. | No | No | |
auth_password | Password for auth. | No | No | |
headers | Headers to add to the request. Configured as JSON array. Syntax: "key": "header_name", "value": "header_value". | No | No | |
params | URL parameters to add to the request. Configured as JSON array. Syntax: "key": "parameter_name", "value": "parameter_value". | No | No | |
ssl_protocols | SSL protocols to support. Configured as JSON string array. | No | No | |
ssl_ciphers | SSL ciphers to support. Configured as JSON string array. | No | No | |
wash_recipient_number | If the mobile number should be washed (i.e. removal of whitespaces, - and other non-number characters). | true | No | No |
remove_leading_plus | If the leading + character should be removed from the mobile number. | false | No | No |
recipient_prefix | If the mobile number should be prepended with a country prefix. (example: +46) | No | No |
Example Configuration
{
"name": "OTPPostHTTPValve",
"config": {
"generated_otp_name" : "generated_otp",
"recipient_param_name" : "{{item.othermobile}}",
"userid_param_name" : "{{request.username}}",
"url_list":["https://www.messageservice.dd","https://www.messageservice.ff"],
"success_code":"202",
"connection_timeout" : "10",
"auth_username" : "myaccountid",
"auth_password" : "myaccuntpassword",
"ssl_protocols" : [
"TLSv1.1",
"TLSv1.2"
],
"ssl_ciphers" : [
"TLS_RSA_WITH_AES_256_CBC_SHA256",
"TLS_ECDH_RSA_WITH_RC4_128_SHA"
],
"wash_recipient_number" : "true",
"recipient_prefix" : "+46",
"headers":[
{"key":"Cache-Control",
"value":"no-cache"},
{"key":"Connection",
"value":"keep-alive"}
]
}
}
In the example above the value for attribute othermobile has been picked up earlier in the flow.
The value for userid_param_name has been picked up from the request. Most common values are {{request.User-Name}} for RADIUS and {{request.username}} for HTTP.
Information about values for url_list, body and success_code should be retrieved from the supplier of the message service.
More information about cipher suites: JDK Providers Documentation
Requirements
Item set must have at least one entry.