"Authentication"
- Gate 分類與三問設計法
每個 gate 設計時問三個問題:成功時做什麼、失敗時做什麼、使用者不知道發生什麼時做什麼
- Biometric fallback 完整設計
iOS Face ID / Touch ID 和 Android BiometricPrompt 的行為差異、fallback 策略、安全 vs 可用性取捨的顯式記錄方法
- Gate(UX)
說明使用者操作流程中「必須通過才能繼續」的關卡,以及成功/失敗/不確定三條路徑的設計責任
- T.C2 Auth handshake 邏輯缺失被 FakeWebSocketChannel 遮蔽
ttyd 連線後需要發送 auth token JSON frame 完成認證,整個邏輯未實作 — FakeWebSocketChannel 的 ready 立即完成不需認證,test 永遠看到連線成功
- U.C2 biometricOnly=true 無密碼 fallback
Flutter app 的生物辨識設定 biometricOnly: true 阻擋所有非生物辨識認證方式 — Face ID 不可用時使用者直接被擋住,沒有替代路徑
- Collector Access Control 實作
認證(誰在送資料)/ 授權(允許送什麼)/ access log(誰在什麼時候送了什麼)— collector 端的三層存取控制
- Client-side SDK 認證的根本限制
嵌在 client 端的 credential 必然可被提取 — 認清 architecture 天花板後的多層緩解策略,從 origin 驗證到 device attestation
- Authentication
說明系統如何確認呼叫者身份
- API 認證的三層信任邊界:使用者、系統、跨系統 Provisioning
API 認證的信任邊界分層(Bearer Token / Shared Secret / Provisioning):各層的洩漏後果與撤銷方式,以及混用造成的設計失效模式。
- Laravel Sanctum 的 Bearer Token 設計剖析:{PK}|{secret} 為什麼這樣設計
Laravel Sanctum `{PK}|{secret}` 格式的設計理由、hash 儲存取捨、constant-time 比對位置,以及跟 GitHub PAT、Stripe API Key 的差異。