OTPByHTTPValve
Note
Valve for delivering one-time passwords by HTTP, using configured http method.
Supports GET/POST/PUT.
Supports multiple failover URLs.
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 | Comma separated list of URLs to send to. Failover functionality. | Yes | No | |
success_string | String to look for if the POST was successful. | 'OK' | No | No |
content_type | Content-Type of the HTTP POST. | application/x-www-form-urlencoded | No | No |
connection_timeout | Timeout in milliseconds. | 4000 | No | No |
http_method | GET/POST or PUT. | GET | No | No |
auth_username | Username for auth. | No | No | |
auth_password | Password for auth. | No | No | |
parameters | Parameters to add to the request. Configured as JSON object. | 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": "OTPByHTTPValve",
"config": {
"url_list":"https://www.messageservice.dd,https://www.messageservice.ff",
"generated_otp_name" : "generated_otp",
"userid_param_name":"{{request.User-Name}}",
"recipient_param_name":"{{item.mobile}}",
"remove_leading_plus":"true",
"connection_timeout":"5000",
"http_method":"POST",
"success_string":"OK",
"content_type" : "application/x-www-form-urlencoded",
"auth_username" : "myaccountid",
"auth_password" : "myaccuntpassword",
"wash_recipient_number" : "true",
"recipient_prefix" : "+46",
"parameters":{
"username":"myusername",
"password":"{enc}FX2SBBwGjfPcUpqhhDQeua1Gj0DZ+1BTF5ev68QC8TM=",
"msisdn":"$$RECIPIENT",
"message":"Your+otp+is:+$$OTP",
"flash":"true",
"originator":"MyCompany"
}
}
}
In the example above the value for attribute mobile 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, parameters and success_string should be retrieved from the supplier of the message service.
Requirements
Item set must have at least one entry.