Browse Source

feat(auth/session_controller): Send Clear-Site-Data when logging out (#8627)

Will clear the browser's cache, cookies and storage.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Clear-Site-Data
https://w3c.github.io/webappsec-clear-site-data/
master
Sorin Davidoi 5 years ago
committed by Eugen Rochko
parent
commit
10680f93e7
1 changed files with 7 additions and 0 deletions
  1. +7
    -0
      app/controllers/auth/sessions_controller.rb

+ 7
- 0
app/controllers/auth/sessions_controller.rb View File

@@ -10,6 +10,7 @@ class Auth::SessionsController < Devise::SessionsController
prepend_before_action :authenticate_with_two_factor, if: :two_factor_enabled?, only: [:create]
before_action :set_instance_presenter, only: [:new]
before_action :set_body_classes
after_action :clear_site_data, only: [:destroy]

def new
Devise.omniauth_configs.each do |provider, config|
@@ -121,4 +122,10 @@ class Auth::SessionsController < Devise::SessionsController
end
paths
end

def clear_site_data
# Should be '"*"' but that doen't work in Chrome (neither does '"executionContexts"')
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Clear-Site-Data
response.headers['Clear-Site-Data'] = '"cache", "cookies", "storage"'
end
end

Loading…
Cancel
Save