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