0

ワンタイムパスワード (persistence_token) を機能させるために必要な構成を正確に確認できる人はいますか?

これまでのところ、次のことがわかりますが、これは私にとってはうまくいかないので、間違っているに違いありません:

  • 「user_credentials=xxxxpersistence_tokenxxxx」の追加の URL パラメーターを渡します
  • 質問 - これ以外に必要な URL パラメーターはありますか? ユーザーIDまたはユーザー名はありますか?
  • 私のデータベーステーブルにpersistence_tokenフィールドがあります(それがあり、入力されていることがわかります)
  • 通常どおり、ユーザー モデルに「acts _as _authentic」を設定する
  • 質問: 自分のモデルごとに「acts _as _authentic」が必要ですか?

上記に従って、自分のモデル リソースの 1 つに直接ブラウザーに URL を入力すると、ログに次のように表示されます。

(a) 最初のリクエスト - http://localhost:3000/user_session/newにリダイレクト

(b) 次に、このリダイレクトの場合:

Processing UserSessionsController#new (for 127.0.0.1 at 2009-12-03
06:14:24) [GET]
  Parameters: {"action"=>"new", "controller"=>"user_sessions"}
  User Columns (3.4ms)   SHOW FIELDS FROM `users`
  User Indexes (0.9ms)   SHOW KEYS FROM `users`
Rendering template within layouts/application
Rendering user_sessions/new
  SQL (0.6ms)   SELECT count(*) AS count_all FROM `users` WHERE
(last_request_at > '2009-12-02 20:04:24')
Completed in 182ms (View: 151, DB: 5) | 200 OK [http://localhost/
user_session/new]

(c) しかし、その後、ウェブページはログインページに行き着き、私が求めていたページに自動的には表示されません。つまり、ワンタイムパスワードにより、AuthLogic が自動的にセッションを行い、その後認証を行うことができると期待していましたか?

ありがとう

PS。params.rbで見つけたこのauthlogicコードに関連しているかどうか疑問に思います

def single_access_allowed_request_types(value = nil)
  rw_config(:single_access_allowed_request_types, value, ["application/rss+xml", "application/atom+xml"])
end
4

1 に答える 1

0

私は今それを持っていると思います。やった:

  • user_credentials=<> のパラメーター (ヘッダーではない) を渡します

  • users テーブルに single_access_token 列がある

  • 次のメソッドを users_controller に追加します。

private
  def single_access_allowed?
    true
  end
  • 他のコントローラー (つまり、アプリケーション、ユーザー、user_sessions 以外) については、「before_filter :require_user」と入力します (コントローラーでこれを自動的に処理する方法があるかどうかはわかりません)

ありがとう

于 2009-12-04T05:57:30.090 に答える