0

開発環境で。Twitter API では、localhost やその他のホスト名ではなく、0.0.0.0 からログインする必要があります。

ただし、サブドメインを介してローカル アプリもテストしています。でsession_store.rb

Foobar::Application.config.session_store :redis_store, :servers => REDISTOGO_URL, :key_prefix => "foobar:rails:session", :expire_in => 1.week, :domain => '.localhost.dev'

Twitter にログインしようとするたびに、401 Unauthorized. を設定:domain => '0.0.0.0'すると、うまく Twitter にログインできます。持つ:

Foobar::Application.config.session_store :redis_store, :servers => REDISTOGO_URL, :key_prefix => "foobar:rails:session", :expire_in => 1.week

部品がなく:domain =>ても問題なく Twitter にログインできます。

を設定すると Twitter のログイン:domainが妨げられるのはなぜですか?session_store.rb

4

1 に答える 1

0

セッション ストア セットの:domainオプションは、セッション ID Cookie が発行されるドメインです。ブラウザは、Cookie のドメイン設定と現在の URL のホスト名が一致する場合にのみ、Cookie をアプリケーションに送り返します。

例のように設定を行うということは、またはそのサブドメイン ( ):domain => '.localhost.dev'を使用してサイトにアクセスする必要があることを意味します。ホスト名が一致しないため、経由でアプリケーションにアクセスしても成功しません。http://localhost.devhttp://www.localhost.devhttp://0.0.0.0

于 2013-01-18T15:32:24.137 に答える