Commit 9a25ec0
fix: require SECRET_TOKEN at startup to prevent auth bypass (#476)
* fix: require SECRET_TOKEN at startup to prevent auth bypass
The original verify_token() allowed None == None when SECRET_TOKEN was
unset, silently disabling authentication. The server now refuses to
start without SECRET_TOKEN configured, and validate_user() accepts the
static token via constant-time comparison (hmac.compare_digest) as an
alternative to DB-backed OAuth tokens.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: add pylint disable for wrong-import-position in conftest.py
The imports must come after os.environ.setdefault() for SECRET_TOKEN,
which is intentionally non-standard. Suppress the C0413 warning.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: add SECRET_TOKEN to Playwright CI workflow env
The 'Start FastAPI application' step was missing SECRET_TOKEN, causing
the app to crash at startup with RuntimeError since the PR made it
required.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 1214b33 commit 9a25ec0
4 files changed
Lines changed: 38 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | | - | |
48 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| 139 | + | |
139 | 140 | | |
140 | 141 | | |
141 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
22 | 33 | | |
23 | 34 | | |
24 | 35 | | |
| |||
235 | 246 | | |
236 | 247 | | |
237 | 248 | | |
238 | | - | |
239 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
240 | 262 | | |
241 | | - | |
242 | | - | |
| 263 | + | |
| 264 | + | |
243 | 265 | | |
244 | 266 | | |
245 | 267 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | | - | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
9 | 13 | | |
10 | 14 | | |
11 | 15 | | |
| |||
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
| 34 | + | |
30 | 35 | | |
31 | 36 | | |
32 | 37 | | |
| |||
0 commit comments