* Move app_domain from env var to siteconfig *within app area* * Fix SiteConfig * Don't change URL.domain yet * Not use in fastly cache purge yet * Session store magoo * Revert domain issue * Add SetCookie middleware * Temporarily remove cookie middleware and release tasks * Re-enable SetCookieDomain * Add some more comments, get it ready for testing * Remove host from url options and temporarily show errors * Allow forwarded host to be cookie * Fix typo * Change invalidAuthenticityToken * Properly set app domain * Proper Fastly cache * Remove config.app_domain * Remove config.app_domain * Explicitely set remember_user_token * More play with cookies * Fiddle with remember_user_token * Add remember_user_token changes * Monkeypatch devise * Sessions controller * Include rememberable * Include rememberable * Proper cookie monkeypatch * Proper cookie monkeypatch * Proper cookie monkeypatch * Remove extra cookie code * User sign in tweak * Close the loop * Experiment with carrierwave public_url * Finalize carrierwave monkeypatch * Remove async controller specs * Change some tests * Update domain test * Remove temporary production.rb change * modify cookie logic * Remove unneeded changes * Remove unneeded changes * Explicitely pass host * Fix linting * Fix social image test * Add some cookie tests * Modify article url * Fix canonical urls * Fix typo * Remove sessions controller * Remove devise monkeypatch * Add monkeypatch * Remove elsif * Update spec/helpers/application_helper_spec.rb Co-authored-by: Michael Kohl <citizen428@dev.to> * Adjust remember_cookie_sync * Remember user token experimentation * Fiddle with devise * Properly configure devise * Fix typo * Fix formatting issue * Add comment about middleware * Fix typo Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com> * Remove commented-out code Co-authored-by: Michael Kohl <citizen428@dev.to> Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
24 lines
973 B
Ruby
24 lines
973 B
Ruby
# Changing the value for "domain" in each context instead of using the one set on boot.
|
|
# This allows changing domain settings without restarting app.
|
|
module Devise
|
|
module Controllers
|
|
module Rememberable
|
|
# We need to use SiteConfig.app_domain instead of default Rails config on boot
|
|
def remember_cookie_values(resource)
|
|
options = { httponly: true }
|
|
options.merge!(forget_cookie_values(resource))
|
|
options.merge!(
|
|
value: resource.class.serialize_into_cookie(resource),
|
|
expires: resource.remember_expires_at,
|
|
domain: ".#{SiteConfig.app_domain}",
|
|
)
|
|
end
|
|
|
|
def self.cookie_values
|
|
# Default: Rails.configuration.session_options.slice(:path, :domain, :secure)
|
|
# We need to use SiteConfig.app_domain instead of default Rails config on boot
|
|
{ domain: ".#{SiteConfig.app_domain}", secure: ApplicationConfig["FORCE_SSL_IN_RAILS"] == "true" }
|
|
end
|
|
end
|
|
end
|
|
end
|