File tree Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Expand file tree Collapse file tree 1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -147,8 +147,22 @@ async def lifespan(app_instance: FastAPI):
147
147
# Initialize service
148
148
settings = get_settings ()
149
149
150
- # Add SessionMiddleware
151
- app .add_middleware (SessionMiddleware , secret_key = settings .SESSION_SECRET_KEY )
150
+ # ---------------------------------------------------------------------------
151
+ # Session cookie settings
152
+ # • Self-hosted / local dev → default Starlette behaviour (SameSite=Lax)
153
+ # • Cloud (separate frontend & api domains) → SameSite=None; Secure so the
154
+ # browser will include the cookie in cross-site requests (e.g. api ↔ www).
155
+ # ---------------------------------------------------------------------------
156
+
157
+ if settings .MODE == "cloud" :
158
+ app .add_middleware (
159
+ SessionMiddleware ,
160
+ secret_key = settings .SESSION_SECRET_KEY ,
161
+ same_site = "none" , # Allow cross-site requests
162
+ https_only = True , # Cookie is Secure (required when SameSite=None)
163
+ )
164
+ else :
165
+ app .add_middleware (SessionMiddleware , secret_key = settings .SESSION_SECRET_KEY )
152
166
153
167
# Initialize database
154
168
if not settings .POSTGRES_URI :
You can’t perform that action at this time.
0 commit comments