Frage

Ich versuche, das Rest-Client-Juwel zu verwenden ein paar kleine Aufgaben für meine Anwendung zu tun, die Authlogic zum Authentifizieren Benutzer verwendet. Von Rest-Client-API, ich sehe, dass eine notwendige Daten für den Login-Prozess wie folgt veröffentlichen können:

require 'rest_client'
RestClient.post "http://127.0.0.1:3000/user_sessions", {:user_session => {:username => 'myusername', :password => 'mypassword'}}.to_json, :content_type => :json, :accept => :json

Ein Blick auf meiner Entwicklung Protokoll, sehe ich, dass die App in mir angemeldet haben und umgeleitet mich richtig auf den privaten Seite des Benutzers. Allerdings, wenn ich dann versucht, zu ‚reload‘ die private Seite,

RestClient.get 'http://127.0.0.1:3000/users/1'

Ich bin wieder auf der Login-Seite zurückgebracht, als ob ich nicht angemeldet war. Also habe ich mich gefragt, ob dies mit der Sitzung oder Cookies genannt, etwas zu tun hat?

Ich habe cURL verwendet, um dieses Szenario erfolgreich zu reproduzieren, wo ich mit dem Schalter ‚-c cookie.txt‘ Informationen speichern über meine bereits angemeldet hat, und verwenden Sie den Schalter ‚-b cookie.txt‘ für jeden Aufruf sagen Sie dem Remote-Server über meine authentifizierten-ness. Ich kann wie ein Stempel am Handgelenk dieses Konzept verstehen, wenn sie in einem Themenpark oder eine Bar gehen, wo sie wissen, dass Sie bezahlt. Aber ich finde keine Erwähnung eines solchen Mechanismus in RestClient. Jede Hilfe wäre toll, diese zu lösen. Ich bin nicht dagegen andere HTTP-Clients versuchen, auch nicht.

Viele Grüße

War es hilfreich?

Lösung

Wenn Sie Authlogic verwenden, können Sie die Single Use Token statt Benutzer / Pass mit sein. Die Single Use Token ist speziell für die API-Aufrufe wie das, was es klingt wie Sie hier tun.

Siehe auch: Die rdocs hier

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