Add sameSite 'auto' support to match secure 'auto' pattern#1087
Merged
bjohansebas merged 6 commits intoexpressjs:masterfrom Jan 17, 2026
Merged
Add sameSite 'auto' support to match secure 'auto' pattern#1087bjohansebas merged 6 commits intoexpressjs:masterfrom
bjohansebas merged 6 commits intoexpressjs:masterfrom
Conversation
bjohansebas
approved these changes
Dec 18, 2025
Member
bjohansebas
left a comment
There was a problem hiding this comment.
LGTM. Overall, adding that option looks good to me, I think this would be good to have for v1.
By the way, I added more tests to better verify its behavior with different configurations
Comment on lines
+961
to
+967
| it('should not set cookie when insecure', function (done) { | ||
| request(this.server) | ||
| .get('/') | ||
| .set('X-Secure', 'false') | ||
| .expect(shouldNotHaveHeader('Set-Cookie')) | ||
| .expect(200, 'false', done) | ||
| }) |
Member
There was a problem hiding this comment.
The behavior here is interesting and cannot be changed since it would be a breaking change. However, because secure is set to true in the configuration, during cookie creation, which happens on this line
Line 161 in 2cd6561
Line 235 in 2cd6561
rmcsharry
reviewed
Dec 22, 2025
f745109 to
6df617c
Compare
bjohansebas
reviewed
Jan 17, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds support for
sameSite: 'auto'option that automatically sets the SameSite cookie attribute based on connection security, similar to the existingsecure: 'auto'feature.When the connection is secure (HTTPS), SameSite is set to 'None' to enable cross-site usage, and when insecure (HTTP), it's set to 'Lax' for better security. This solves real-world scenarios like SAML authentication where the connection security isn't known at configuration time.
The implementation follows the same pattern as
secure: 'auto', uses the existingissecure()function, and includes comprehensive test coverage with no breaking changes.Fixes #1081