## 背景 receiver は現状ローカルプロトタイプ前提(`127.0.0.1`、認証なし、CORS `*`)。EC2 等への公開デプロイを見据えると、閲覧・操作系の面を保護する必要がある。#29 で GitHub token を receiver が持つようになると、攻撃対象としての価値も上がる。 ## スコープ(管理面の保護) - inbox / 操作系 endpoint への認証を追加する - `GET /`(inbox) - `GET /feedback.json` - `GET /screenshots/:file` - `POST /feedback/:id/status` - `POST /import` - `POST /feedback/:id/github-issue`(#29) - 最小構成: 共有 token(env / config)+ Bearer or Basic 認証。inbox UI はログインフォームか URL token - CORS を `*` から許可 origin リスト(config)に変更する - HTTPS 終端・bind 先の前提を README のデプロイ節として明文化する(reverse proxy 前提で可) - secrets(GitHub token / Slack webhook)は env 注入を推奨とし、config ファイル運用との優先順位を明記する ## 受け入れ条件 - 認証なしで inbox・feedback データ・screenshot にアクセスできない設定が可能 - 許可 origin 以外からの browser fetch がブロックされる - ローカル開発(認証なし)は引き続きゼロ設定で動く - README にデプロイ時の設定手順が載っている ## 関連 - 取り込み面(widget → receiver の POST /feedback)の保護は別 issue(ペア認証・受信データ安全性)で扱う
背景
receiver は現状ローカルプロトタイプ前提(
127.0.0.1、認証なし、CORS*)。EC2 等への公開デプロイを見据えると、閲覧・操作系の面を保護する必要がある。#29 で GitHub token を receiver が持つようになると、攻撃対象としての価値も上がる。スコープ(管理面の保護)
GET /(inbox)GET /feedback.jsonGET /screenshots/:filePOST /feedback/:id/statusPOST /importPOST /feedback/:id/github-issue(Receiver inbox から GitHub Issue を作成する #29)*から許可 origin リスト(config)に変更する受け入れ条件
関連