JSON Web Token
JSON Web Token
JSON Web Token(JWT)是一種精簡格式,可用 JWS 或 JWE 保護並在不同系統間傳送宣告。JWT 只是格式,不是權限系統。
另一個例子
API 收到已簽章的存取 JWT,只允許指定的演算法、取得可信的簽發者金鑰,再檢查 `iss`、`aud`、`exp`、`nbf`、`scope` 和權杖類型。它會拒絕 `alg:none`,也會拒絕發給其他服務的權杖。一般簽章 JWT 可以被讀取,並沒有加密,所以不放個人資料。
主要部分
- 01受保護 Header
- 02Claim Set
- 03簽章或加密結果
什麼時候用
不同系統需要精簡、自包含、受密碼學保護的宣告,而且能嚴格驗證內容與到期時間時,可以使用 JWT。
什麼時候不要用
不要在已簽章 JWT 放入機密,也不要接受任意演算法或金鑰。沒有撤銷方式時不要發長效權杖;若不透明工作階段更簡單,就直接使用它。
程式裡的名稱
JOSE compact serialization + pinned alg/key + iss/aud/time/type validation 上線前要檢查
檢查介面約定、任何情況都不能破壞的規則、授權與輸入限制。測試重試、重複執行只生效一次、逾時與部分失敗。驗證資料完整性、相容性、監控、復原與回復上一版。
預期成果:為這套系統設計或檢查 JSON Web Token (JSON Web Token),並讓資料保持正確、安全且容易維護。 使用者情境:API 收到已簽章的存取 JWT,只允許指定的演算法、取得可信的簽發者金鑰,再檢查 `iss`、`aud`、`exp`、`nbf`、`scope` 和權杖類型。它會拒絕 `alg:none`,也會拒絕發給其他服務的權杖。一般簽章 JWT 可以被讀取,並沒有加密,所以不放個人資料。 技術概念或控制措施:JSON Web Token (JSON Web Token)。 適用理由:不同系統需要精簡、自包含、受密碼學保護的宣告,而且能嚴格驗證內容與到期時間時,可以使用 JWT。 不應使用的情況:不要在已簽章 JWT 放入機密,也不要接受任意演算法或金鑰。沒有撤銷方式時不要發長效權杖;若不透明工作階段更簡單,就直接使用它。 工程要求:定義輸入、輸出、介面約定,以及任何情況都不能破壞的規則。說明授權與輸入檢查範圍。定義失敗、逾時、重試和重複執行只生效一次的規則。也要定義資料搬移與相容限制。 營運要求:加入監控訊號與隱藏敏感資料的記錄。設定容量上限並寫好操作手冊。測試復原與回復上一版的流程。 驗收條件:介面約定與失敗路徑測試通過。重試或部分失敗時,資料與授權規則仍正確。效能上限、監控、復原與回復上一版的方法都已驗證。 證據與限制(證據邊界):標準只涵蓋列出的範圍,不會替你決定外觀、產品做法或 Vibulary 的教學範例。 待確認:程式執行環境、資料位置、流量形態、資料一致需求和安全邊界。也要確認相容期間、服務目標(SLO)與回復上一版的限制。
檢查這份需求
請 AI 程式助手檢查目前如何使用 JSON Web Token (JSON Web Token)。 定義:JSON Web Token(JWT)是一種精簡格式,可用 JWS 或 JWE 保護並在不同系統間傳送宣告。JWT 只是格式,不是權限系統。 正式環境檢查:檢查介面約定、任何情況都不能破壞的規則、授權與輸入限制。測試重試、重複執行只生效一次、逾時與部分失敗。驗證資料完整性、相容性、監控、復原與回復上一版。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。