/
Example in Ruby
Example in Ruby
From version 4.0 the recommended authentication method is JWT and not the URL signing described below
Example of how to sign a request in Ruby (1.9.x)
Ruby
require 'digest/md5' require "erb" include ERB::Util token = "5436gdfdhgfh7b66bgfg4436c28" puts "Token:\n #{token} \n\n" secret = "fsdfg43321dsafg" puts "Secret:\n #{secret} \n\n" request = "http://site.meridix.se/api/customer/listcustomers" puts "Request:\n #{request} \n\n" nonce = Random.new.rand(100000...999999).to_s puts "Nonce:\n #{nonce} \n\n" timestamp = Time.now.utc.strftime("%Y%m%d%H%M%S"); puts "Timestamp:\n #{timestamp} \n\n" parameters = [ "auth_nonce=" + nonce, "auth_timestamp=" + timestamp, "auth_token=" + token ] parameters = parameters.sort requestEncoded = url_encode(request); puts "RequestEncoded:\n #{requestEncoded} \n\n" parametersConcated = parameters.join("&") puts "ParametersConcated:\n #{parametersConcated} \n\n" parametersConcatedEncoded = url_encode(parametersConcated) puts "ParametersConcatedEncoded:\n #{parametersConcatedEncoded} \n\n" # IMPORTANT - The GET&-prefix must be change to POST& etc. when using different HTTP Verbs than GET. verbRequestQuery = "GET&" + requestEncoded + "&" + parametersConcatedEncoded + "&" + secret; puts "VerbRequestQuery:\n #{verbRequestQuery} \n\n" signature = Digest::MD5.hexdigest(verbRequestQuery) puts "Signature:\n #{signature} \n\n" signedRequest = request + "?" + parametersConcated + "&auth_signature=" + signature puts "SignedRequest:\n #{signedRequest} \n\n"
, multiple selections available,
Related content
5.5 - April 2024
5.5 - April 2024
More like this
Enabling Telepo Live widgets on a user/customer
Enabling Telepo Live widgets on a user/customer
More like this
Adding Live telepo data widgets to portal Dashboard
Adding Live telepo data widgets to portal Dashboard
More like this
Dstny Analytics Two Factor Authentication provider configuration
Dstny Analytics Two Factor Authentication provider configuration
More like this
Webpage: www.meridix.se
Email: support@meridix.se
Tel: +46 (0) 21 38 30 32