Use SameSite=None for EMBEDDED_SESSION and DEVICE cookies (#18824)
* Use SameSite=None for EMBEDDED_SESSION and DEVICE cookies - EMBEDDED_SESSION previously did not specify SameSite attribute and assumed that the browser would default to SameSite=None, but recent browsers default to SameSite=Lax which does not work with cross-domain full-app embedding. - DEVICE was previously set to SameSite=Lax causing devices to not be remembered during login with cross-domain full-app embedding resulting in superfluous "We've Noticed a New Metabase Login" emails. Setting it to SameSite=None is safe because the cookie is not used to authenticate a user. * Only print SameSite warning if not over https
Showing
- src/metabase/server/middleware/browser_cookie.clj 18 additions, 10 deletionssrc/metabase/server/middleware/browser_cookie.clj
- src/metabase/server/middleware/session.clj 14 additions, 9 deletionssrc/metabase/server/middleware/session.clj
- test/metabase/server/middleware/browser_cookie_test.clj 51 additions, 0 deletionstest/metabase/server/middleware/browser_cookie_test.clj
- test/metabase/server/middleware/session_test.clj 14 additions, 1 deletiontest/metabase/server/middleware/session_test.clj
Please register or sign in to comment