5

Rest-client gem を使用して、Authlogic を使用してユーザーを認証するアプリでいくつかの小さなタスクを実行しようとしています。Rest-Client の API から、ログイン プロセスに必要なデータを次のように投稿できることがわかります。

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

開発ログを見ると、アプリがログインしており、ユーザーのプライベート ページに正しくリダイレ​​クトされていることがわかります。しかし、プライベートページを「リロード」しようとすると、

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

ログインしていないかのように、再びログイン ページに戻されます。

私は cURL を使用してこのシナリオをうまく再現しました。スイッチ「-c cookie.txt」を使用して、すでにログインしていることに関する情報を保存し、各呼び出しでスイッチ「-b cookie.txt」を使用してリモートに通知します。私の認証済み度についてのサーバー。テーマパークや、お金を払ったバーに行くときの手首のスタンプのようなこの概念は理解できます。しかし、RestClient にはそのようなメカニズムについての言及はありません。これを解決するには、どんな助けも素晴らしいでしょう。他の http クライアントを試してもかまいません。

よろしく

4

1 に答える 1

7

Authlogic を使用している場合は、ユーザー/パスの代わりにシングル ユース トークンを使用できます。使い捨てトークンは、ここで行っているように聞こえるような API 呼び出し専用です。

参照: rdoc はこちら

于 2010-02-19T22:33:59.013 に答える