OTPByHTTPValve

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.