sonnyhe2002 sonnyhe2002 - 1 month ago 19
Ruby Question

set authentication token in http header

I have been following the railscast on how to set authentication tokens
http://railscasts.com/episodes/352-securing-an-api?view=asciicast

I have setup my app very well and it uses the authenticate_or_request_with_http_token method to get the token.

My problem is that I have a next app that needs to set the token in the header.
Something like:

uri = URI.parse(full_url)
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_uri)
request['HTTP_AUTHORIZATION'] = 'this_is_a_test_key'
response = http.request(request)


The above code is getting an access denied. I know it is easy to set custom ones like X-CUSTOM-TOKEN, but how do I set the default one?

Answer

The header name isn't HTTP_AUTHORIZATION and you have to set it like this set it as:

request['authorization'] = "Token token=#{token}"

To be able to use the authenticate_or_request_with_http_token method.

Comments