Question

Je suis en train d'utiliser la pierre précieuse Rest-client à faire quelques petites tâches pour mon application qui utilise Authlogic pour authentifier les utilisateurs. De l'API Rest-client, je vois que l'on peut publier des données nécessaires pour le processus d'ouverture de session comme ceci:

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

En regardant mon journal de développement, je vois que l'application est connecté en moi et m'a redirigé correctement à la page privée de l'utilisateur. Cependant, quand je puis essayé de «reload la page privée,

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

Je suis ramené à la page de connexion, comme si je ne l'avais pas connecté. Je me demandais si cela a à voir avec ce qu'on appelle la session ou les cookies?

Je l'ai utilisé cURL pour reproduire ce scénario avec succès, où j'utilise le commutateur '-c cookie.txt pour enregistrer des informations sur mon ayant déjà connecté et utilisez le commutateur « -b cookie.txt » pour chaque appel à dire au serveur distant au sujet de mon-ness authentifié. Je peux comprendre ce concept de comme un timbre sur votre poignet d'une manière intensive parc à thème ou un bar où ils savent que vous payé. Mais je ne trouve pas mention d'un tel mécanisme RESTClient. Toute aide serait grande pour résoudre ce problème. Je ne me dérange pas d'essayer d'autres clients http, soit.

Cordialement

Était-ce utile?

La solution

Si vous utilisez Authlogic, vous pourriez utiliser l'usage unique jeton au lieu d'utilisateur / pass. L'utilisation est simple jeton spécifiquement pour les appels API comme ce qu'il semble que vous faites ici.

Voir: Les rdocs

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top