6

Mam subdomeny blogi, która działa dobrze, jednak signin jest odłączony od wszystkich subdomen, a co za tym idzie, jeśli użytkownik zarejestruje się w swoim pliku cookie jest ważny tylko na stronach innych niż poddomena. Jak mogę ustawić moją aplikację tak, aby pliki cookie były prawidłowe we wszystkich subdomenach i normalnych stronach?Udostępnianie jednego pliku cookie poprzez subdomeny

Pracowałem nad tym tematem: Share session (cookies) between subdomains in Rails?, ale niestety bez powodzenia. Próbowałem nawet tego długiego, krok po kroku, podejścia typu middleware, ale bez powodzenia.

Używam szyn Rails 3.2.13.

Każda pomoc doceniona! :)

+0

przekazywanie domeny powinno działać ... czy na pewno poprawnie testujesz? – aguynamedloren

+0

czy mógłbyś to rozwinąć? Nie mam doświadczenia z ciasteczkami itp. Zobacz, to się dzieje, gdy użytkownik się loguje: cookies [: remember_token] = user.remember_token. Normalny standardowy plik cookie. Jak mogę zrobić ten plik cookie również ze wszystkimi subdomenami? –

+1

Czy wypróbowałeś ': cookie_store,: key => '_your_app_session',: domain =>" .twojadomena.com "'? –

Odpowiedz

16

Wszystko, co musiałem zrobić, to określić domenę podczas tworzenia pliku cookie, zgodnie z powyższym komentarzem.

cookies[:remember_token] = { value: user.remember_token, domain: ".lvh.me" } 
1

Put domain: all na końcu linii w config/session_store.rb

np.

YourApp::Application.config.session_store :encrypted_cookie_store, key: '_yourapp_session', domain: :all 

też może trzeba zmienić ten parametr w config/środowiskach/production.rb

config.action_dispatch.tld_length = 2 

Jeśli domena jest example.com wówczas tld_length (Top Level Domain Length) jest 1 (co jest domyślny). example.com.au to 2, 127.0.0.1.xip.io to 5, i tak dalej.

Powiązane problemy