Package io.leandev.appfuse.security.auth
package io.leandev.appfuse.security.auth
-
ClassDescriptionRequest-level 代行稽核 capability(ADR-013 稽核章節)。代理/模擬的 JWT claim wire 契約(見 ADR-013)。當前請求的代理/模擬脈絡(見 ADR-013)。API key 認證 filter(ADR-025 決策五)API key 的雜湊(ADR-025 決策五)API key 的主體查找 SPI(ADR-025 決策五)登入引擎對「可登入主體」的最小契約(ADR-023)已驗證 AuthPrincipal 的 Authentication adapter。登入引擎的主體查找 SPI(ADR-023)Basic Auth 認證 Filter以具 TTI/TTL 的整數 Cache 實作 M2M token 端點限流。同一連線 IP+trim/lowercase(ROOT) username 的滾動視窗限流。cache 值是有界的不可變接受時間快照,不含 IP、username 或憑證。M2M 憑證產生器(ADR-025)token 端點的速率限制接點(ADR-025 決策四)client_credentials 的請求參數(RFC 6749 §4.4.2)M2M 憑證發放 capability——登入引擎的第四操作(ADR-025)發放結果(引擎級——wire 回應由
ClientCredentialsTokenResponse.bearer(String, long)組裝)client_credentials 的成功回應(RFC 6749 §4.4.3)已認證的持久化憑證攜帶其發行環境;入口 gate 在認證之後驗證,不取代 principal 的授權。DAO 帳密認證鏈的 builder。AuthPrincipal的預設實作——UserDetailsService把自家帳號攤平成引擎主體的便利類DefaultAuthPrincipal的建構器認證入口點,回傳 RFC 7807 格式的 JSON 錯誤回應登入時的代行(acting)貢獻點代行登入的結果。身份仍是登入者本人(sub不變),只是多了授權人的權限。source 只由引擎在驗證 opaque Refresh Credential 後填入,不能由 wire model 提供。登入政策拒絕的具體診斷通道(ADR-023 修訂)登入引擎 capability(ADR-023)登入結果(引擎級——wire DTO 由消費端殼自 principal/acting 組裝)Refresh 成功後的引擎結果;replacement credential 由 HTTP 殼寫入 Cookie,不放入 wire body。token 端點的錯誤(RFC 6749 §5.2)密碼登入請求配額;成功與失敗的認證請求都計數,與 LoginLockout 的失敗鎖定分開。resetAt 是下一個名額可用時間;retryAfterSeconds 是向上取整的等待秒數。 degraded=true 時配額未知(remaining=-1、resetAt=null),仍需執行所有認證與 SQL 檢查。Opaque Refresh Credential 的產生與單向摘要 primitive。Refresh Session 被拒絕時保留具體技術原因的認證例外。Refresh Credential 的使用協定。Refresh Session persistence SPI。供 identity switch 等會立即替換或撤銷 family 的流程,原子驗證 credential 並滑動 idle window。 同一 credential 的並行使用可依序成功;logout/expiry/rotation 與本操作以相同 row lock 排序。compare-and-rotate command。expectedGeneration與currentCredentialHash必須同時吻合。RSA key pair 的建立與標準 wire encoding 解析。有效 credential 與已知 family 不符;HTTP 殼須回 409 session-changed 且保留 Cookie。不透明的憑證使用環境綁定;框架不解讀 domain/tenant/入口目錄。 activationExpiresAt 非空的 family 只能經一次性 activation 後使用。應用提供憑證使用環境政策。只有登入引擎驗過目前 family 後,才提供切換來源。Refresh Session 的應用政策重新驗證 hook。由可信組裝共用的固定期限政策;不依 browser app 字串選擇。僅由 HTTP 殼讀取實際 Cookie;缺 Cookie 時仍明示傳入 null。驗簽並與 authoritative family 對照後的 wire 組裝資料。互動式 Session 的簽發政策。綁定於 Refresh Session family 的應用政策識別。應用明示每個 principal type 的 immutable application account ID 契約;不能由反射推定資料不變性。bounded Session profile 需要的 authoritative store 能力。