liquid_feedback_frontend

changeset 1517:4f182720a2ec

Automatically fix inconsistent session cookies
author bsw
date Thu Aug 20 14:25:34 2020 +0200 (2020-08-20)
parents 9d99a4f262a2
children 9514b3c04ccb
files app/main/_filter/20_session.lua
line diff
     1.1 --- a/app/main/_filter/20_session.lua	Thu Aug 20 14:03:09 2020 +0200
     1.2 +++ b/app/main/_filter/20_session.lua	Thu Aug 20 14:25:34 2020 +0200
     1.3 @@ -6,6 +6,19 @@
     1.4    and not (request.get_module() == "oauth" and request.get_view() == "session")
     1.5  then
     1.6    slot.put_into("error", _"Cookie error. Try restarting your web browser and login again.")  
     1.7 +  ui.script{ script = [[
     1.8 +  function cookie_by_name(name) {
     1.9 +    var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
    1.10 +    if (match) return match[2];
    1.11 +  }
    1.12 +  var cookie = (cookie_by_name("]] .. config.cookie_name .. [["));
    1.13 +  var cookie_samesite = (cookie_by_name("]] .. config.cookie_name_samesite ..[["));
    1.14 +  if (cookie != cookie_samesite) {
    1.15 +    document.cookie = "]] .. config.cookie_name .. [[= ; expires = Thu, 01 Jan 1970 00:00:00 GMT"
    1.16 +    document.cookie = "]] .. config.cookie_name_samesite .. [[= ; expires = Thu, 01 Jan 1970 00:00:00 GMT"
    1.17 +    window.location = "]] .. request.get_absolute_baseurl() .. [[";
    1.18 +  }
    1.19 +  ]]}
    1.20    return
    1.21  end
    1.22  

Impressum / About Us