Net/http for Googles Authentication api

def process_token(token)
  url =

URI.parse(‘http://www.google.com/account/AuthSubSessionToken/’)

  request = Net::HTTP::Get.new(url.path)
  request['Content-Type'] = "text/html; charset=utf-8"
  request['User-Agent'] = "Ruby client"
  request['Authorization'] = "AuthSub token='#{token}'"
  res = Net::HTTP.start(url.host, 80) do |sess|
    sess.request(request)
  end
end

That is the code I’m using to send a request to
http://www.google.com/account/AuthSubSessionToken/ with a special header
attribute (Authorization) containing a token provided by Google. The
code above results in a 404 exception, I don’t think it’s sending the
correct request.

Any suggestions as to what I did wrong or how I can view the entire
request sent so I at least have an idea of whats wrong?

Joe S. wrote:

    sess.request(request)

request sent so I at least have an idea of whats wrong?

A 404 not found is not something that a server usually spits out when
you have merely given it the wrong information. Error, Access Denied,
Authentication Failed, something, but not a 404. So I strongly suspect
your URL is wrong. Try https? (though that would mean using Net::HTTPS
instead of Net::HTTP). One strategy would be to find something that
successfully connects to Google by this method (if you have a working
example in another language, or even a binary file), you should run that
and sniff your own packets to see exactly what is being sent.
“livehttpheaders” is a Firefox extension that I use for this sort of
thing, if there is any way for you to use a web browser to log in to
this google authentication thing.

Good luck,
Dan

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs