我正在尝试使用Ruby on Rails执行HTTP授权。以下是我正在尝试的内容:
res = http.post(uri.request_uri,
:Authorization => cobSessionToken,
"coBrandSessionCredential=loginToken=#{cobSessionToken}&userLogin=#{login}&userPassword=#{password}")
render :json => {"isValid" => true, "Body" => JSON.parse(res.body)}
这似乎不起作用。我该如何进行授权?
答案 0 :(得分:0)
这样的事情怎么样?
url = URI.parse('https://my.url.com/path')
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'user', 'pass'
req.use_ssl = true
req.form_data({'key1' => 'val1', 'key2' => 'val2'})
resp = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
puts resp
答案 1 :(得分:0)
我建议使用像postman这样的东西(它可以在谷歌商店获得的免费谷歌程序),以确保错误不在服务器端。使用Net:http它附带ruby,所以你不需要安装它,但你必须要它。
要求:
require "net/http"
require "uri"
使用此cheatsheet我认为您需要basic_auth.rb您将看到如何形成请求。