Skip to content

Commit ba52446

Browse files
committed
Adds security features to remember_token cookie.
1. Set to "secure" in production 2. Set to HttpOnly 3. SameSite set to strict. Closes stevepolitodesign#87.
1 parent 2e6e5b0 commit ba52446

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

app/controllers/concerns/authentication.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ def redirect_if_authenticated
3535
end
3636

3737
def remember(active_session)
38-
cookies.permanent.encrypted[:remember_token] = active_session.remember_token
38+
cookies.permanent.encrypted[:remember_token] = {
39+
value: active_session.remember_token,
40+
secure: Rails.env.production?,
41+
httponly: true,
42+
same_site: :strict
43+
}
3944
end
4045

4146
private

test/controllers/sessions_controller_test.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ class SessionsControllerTest < ActionDispatch::IntegrationTest
4848
remember_me_cookie = cookies.get_cookie("remember_token")
4949

5050
assert remember_me_cookie.http_only?
51-
assert remember_me_cookie.secure?
5251
assert_equal "Strict", remember_me_cookie.to_h["SameSite"]
5352
end
5453

0 commit comments

Comments
 (0)