SameSite=None Requires Secure: Cookie Fix Playbook
Resolve cross-site login/session failures caused by cookie attribute mismatch in modern browsers.
Modern browsers enforce stricter cookie policies. If you need cross-site cookies, SameSite=None must be paired with Secure over HTTPS.
Tools in this guide
Symptoms
- Cross-site login appears successful but session is missing on next request.
- Browser DevTools shows Set-Cookie dropped or blocked.
- Issue appears only in HTTPS/browser path, not local mock calls.
Root Cause
- SameSite=None is sent without Secure.
- Cookie domain/path or expiry policy conflicts with runtime origin.
- CORS and cookie policy are configured independently and drift apart.
Fix Steps
- Parse Set-Cookie string and verify SameSite, Secure, HttpOnly, Domain, Path attributes.
- If SameSite=None is required, enforce Secure and HTTPS consistently across environment.
- Revalidate with CORS headers and request flow so browser accepts and sends cookie.
Cross-site cookie baseline
Set-Cookie: sid=abc123; Path=/; HttpOnly; Secure; SameSite=NoneRelated Tool Workflow
FAQ
Can SameSite=None work without HTTPS?
In modern browsers, no. Secure is required.
Is SameSite=Lax enough for SPA auth?
Only for same-site flows. Cross-site auth usually needs None + Secure.