class SinchAuth
Public Instance Methods
get_auth_ticket(username, expires_in, key, secret)
click to toggle source
# File lib/sinch_auth.rb, line 7 def get_auth_ticket(username, expires_in, key, secret) user_ticket = { "identity" => {"type" => "username", "endpoint" => username}, "expiresIn" => expires_in, "applicationKey" => key, "created" => Time.now.utc.iso8601 } user_ticket_json = user_ticket.to_json.gsub(/\s+/, "") user_ticket_base64 = Base64.encode64(user_ticket_json).strip digest = OpenSSL::HMAC.digest(OpenSSL::Digest.new('sha256'), Base64.decode64(secret), user_ticket_json).strip signature = Base64.encode64(digest).strip return (user_ticket_base64 + ':' + signature).gsub(/\s+/, "") end