def sso_member(member_profile, private_key)
      # Convert member profile hash to a HTTP query string
      payload_string = member_profile.map{|k,v| "#{k}=#{v}"}.join('&')

      # URL encode and Base 64 encode the IV
      iv_urlencoded = "#{CGI::escape(Base64.strict_encode64(@triple_des_iv))}decode"

      payload = encrypt_payload(payload_string, @triple_des_iv)
      cipher = encrypt_cipher(@triple_des_key)
      signature = sign_message(payload, private_key)

      data = sprintf(
          "Payload=%s&Cipher=%s&Signature=%s&Iv=%s",
          payload,
          cipher,
          signature,
          iv_urlencoded
      )

      return send_request('/sso_member.json', 'POST', data)
    end
def sso_member(member_profile, private_key)
      # Convert member profile hash to a HTTP query string
      payload_string = member_profile.map{|k,v| "#{k}=#{v}"}.join('&')

      # URL encode and Base 64 encode the IV
      iv_urlencoded = "#{CGI::escape(Base64.strict_encode64(@triple_des_iv))}decode"

      payload = encrypt_payload(payload_string, @triple_des_iv)
      cipher = encrypt_cipher(@triple_des_key)
      signature = sign_message(payload, private_key)

      data = sprintf(
          "Payload=%s&Cipher=%s&Signature=%s&Iv=%s",
          payload,
          cipher,
          signature,
          iv_urlencoded
      )

      return send_request('/sso_member.json', 'POST', data)
    end
Public: Single Sign-On a member

 member_profile - A hash of key/value pairs that describes the member
 private_key - Your RSA private key, used to sign your message

 Returns the raw API response