Skip to content

Commit 0cda2d0

Browse files
author
Bart Schuurmans
authored
Add SameSite attribute to XSRF token cookie (#1662)
1 parent c05a9e2 commit 0cda2d0

File tree

1 file changed

+10
-10
lines changed
  • servant-auth/servant-auth-server/src/Servant/Auth/Server/Internal

1 file changed

+10
-10
lines changed

servant-auth/servant-auth-server/src/Servant/Auth/Server/Internal/Cookie.hs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,17 @@ applyCookieSettings cookieSettings setCookie = setCookie
103103
, setCookieSecure = case cookieIsSecure cookieSettings of
104104
Secure -> True
105105
NotSecure -> False
106+
, setCookieSameSite = case cookieSameSite cookieSettings of
107+
AnySite -> anySite
108+
SameSiteStrict -> Just sameSiteStrict
109+
SameSiteLax -> Just sameSiteLax
106110
}
111+
where
112+
#if MIN_VERSION_cookie(0,4,5)
113+
anySite = Just sameSiteNone
114+
#else
115+
anySite = Nothing
116+
#endif
107117

108118
applyXsrfCookieSettings :: XsrfCookieSettings -> SetCookie -> SetCookie
109119
applyXsrfCookieSettings xsrfCookieSettings setCookie = setCookie
@@ -115,18 +125,8 @@ applyXsrfCookieSettings xsrfCookieSettings setCookie = setCookie
115125
applySessionCookieSettings :: CookieSettings -> SetCookie -> SetCookie
116126
applySessionCookieSettings cookieSettings setCookie = setCookie
117127
{ setCookieName = sessionCookieName cookieSettings
118-
, setCookieSameSite = case cookieSameSite cookieSettings of
119-
AnySite -> anySite
120-
SameSiteStrict -> Just sameSiteStrict
121-
SameSiteLax -> Just sameSiteLax
122128
, setCookieHttpOnly = True
123129
}
124-
where
125-
#if MIN_VERSION_cookie(0,4,5)
126-
anySite = Just sameSiteNone
127-
#else
128-
anySite = Nothing
129-
#endif
130130

131131
-- | For a JWT-serializable session, returns a function that decorates a
132132
-- provided response object with XSRF and session cookies. This should be used

0 commit comments

Comments
 (0)