Skip to content

fix: SecurityHeadersMiddleware の CSP を OpenAPI パスで除外する (#112)#116

Merged
hideyukiMORI merged 1 commit into
mainfrom
fix/112-csp-swagger-ui
May 19, 2026
Merged

fix: SecurityHeadersMiddleware の CSP を OpenAPI パスで除外する (#112)#116
hideyukiMORI merged 1 commit into
mainfrom
fix/112-csp-swagger-ui

Conversation

@hideyukiMORI
Copy link
Copy Markdown
Owner

Summary

  • Content-Security-Policy: default-src 'self'/docs/redoc/openapi.json に付与されると Swagger UI / ReDoc が CDN アセットを読み込めず壊れる問題を修正
  • OpenAPI ドキュメントパスでは CSP ヘッダーのみスキップ(他のセキュリティヘッダーは引き続き付与)
  • _OPENAPI_PATHS = frozenset({"/docs", "/redoc", "/openapi.json"}) で対象パスを定義
  • テスト 1 件追加: 3 パスへの CSP 不付与と他ヘッダーの継続付与を確認

Closes #112

Test plan

  • uv run pytest tests/nene2/middleware/test_security_headers.py -v が全パスすること
  • http://localhost:8080/docs で Swagger UI が正常表示されること

🤖 Generated with Claude Code

Content-Security-Policy: default-src 'self' が /docs・/redoc・/openapi.json に
付与されると、CDN からアセットを読み込む Swagger UI と ReDoc が動作しなくなる問題を修正。

OpenAPI ドキュメントパスでは CSP ヘッダーのみスキップし、
X-Content-Type-Options 等の他のセキュリティヘッダーは引き続き付与する。

テスト1件追加: /docs・/redoc・/openapi.json への CSP 不付与を確認

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hideyukiMORI hideyukiMORI merged commit 7b1e5e8 into main May 19, 2026
1 check passed
@hideyukiMORI hideyukiMORI deleted the fix/112-csp-swagger-ui branch May 21, 2026 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: SecurityHeadersMiddleware の CSP が Swagger UI (/docs) を壊す

1 participant