Add the setting that requires a server credential, switched off

已關閉
#4,240 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
42/100
Issue 類型
功能
描述清晰度
描述清楚
活躍度
活躍
技術堆疊
gcp, python

研究方向

Start with the Public API's request-handling entry point and find where a check could run before route matching, so that / and unknown paths are covered too. Then locate the deploy scripts and workflows that set configuration for staging and production, and trace how a new setting would reach them. Done means the setting exists and defaults to off, refused requests get the exact 401 body and headers, GET/HEAD /health, GET /v2/openapi.json and OPTIONS preflight stay open, and the setting is off in both environments. This depends on #4236 landing first.

由索引模型根據 Issue 內容生成。

描述

Once every PolicyEngine caller sends a server credential (#4236), the Public API needs a setting that refuses everyone else. This issue adds it, switched off; turning it on is a later, separate step.

Done when the Public API has a setting that, when on:

  • refuses every request without a valid server credential with 401, WWW-Authenticate: Bearer, Content-Type: application/json and {"status":"error","message":"Authentication is required"}, with no other guidance;
  • does so before route matching, so / and unknown paths are refused too;
  • exempts only GET and HEAD /health, GET /v2/openapi.json and CORS preflight OPTIONS requests, in the Public API's own code, because Cloud Run's startup probe calls /health on the container directly;

and the setting is wired through the deploy scripts and workflows, merged switched off and deployed switched off in staging and production.

主要語言
Python
星號
18
分支
33
平均合併
2 天 10 小時
30 天內合併 PR
124

環境準備

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

PolicyEngine/policyengine-api 的其他 Issue

查看 PolicyEngine/policyengine-api 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。