Frage

Ich habe versucht, zu einem Web-Dienst zu verbinden, die eine Authentifizierung unter Verwendung verdauen.

Ich bin in der Lage in Safari verbinden mit Benutzern: password@service.site.com/endpoint

Ich habe versucht, in Ruby und Rails zu verbinden HTTParty und Net: ein. HTTP, um die "basic" Auth“Optionen, aber hatte kein Glück

Sie fragen sich, ob der HTTParty / Net: HTTP "Basic_Auth" Option wird nicht mit einem "verdauen Auth" Service kompatibel sein?

Wenn nicht, gibt es eine andere Art und Weise, dass ich verbinden könnte?

War es hilfreich?

Lösung

HTTParty Grund Auth ist anscheinend nicht kompatibel mit digest_auth. Ich fand das Net: HTTP-Erweiterung: https://codesnippets.joyent.com/posts/show/ 1075 und ein Verfahren schreibe dies zu handhaben, mit Hilfe des Risses gem http: // github .com / jnunemaker / Riss :

 def self.decode vin
    url = URI.parse(APP_CONFIG[:vinlink_url])
    Net::HTTP.start(url.host) do |http|
      res = http.head(url.request_uri)
      req = Net::HTTP::Get.new("/report?type=basic&vin=#{vin}")
      req.digest_auth(APP_CONFIG[:vinlink_login], APP_CONFIG[:vinlink_password], res)
      @response = http.request(req)
    end
    if @response.code == "200"
      hash = Crack::XML.parse(@response.body).recursive_downcase_keys!.recursive_symbolize_keys!
    end
  end  

Andere Tipps

Was den Codesnippets bekommen nicht in der Lage Link oben heute gegeben, aber Code ist auch hier verfügbar https: // gist.github.com/73102 . Ich dies für Digest-Authentifizierung erfolgreich verwendet haben, sondern lief in Probleme mit Mehrfachanfrage ‚Nonce Stale Client‘ Fehler bekommen - gelöst durch eine neue nonce innerhalb der digest_auth Funktion jedes Mal zu erzeugen es hieß. Haben Sie nicht viel finden auf, als ich sah, so hoffen, dass dies jemand hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top