第68篇 jwt的簡單介紹

似梦亦非梦發表於2024-12-07

1.API保護

1.1 為什麼要保護API

  • 防洩漏
  • 防攻擊
    1.防偽裝攻擊(案例:在公共網路環境中,第三方 有意或惡意 的呼叫我們的介面)
    2.防篡改攻擊(案例:在公共網路環境中,請求頭/查詢字串/內容 在傳輸過程被修改)
    3.防重放攻擊(案例:在公共網路環境中,請求被截獲,稍後被重放或多次重放)
  • 收益化

1.2 設計原則

  • 1.輕量級
  • 2.易於開發、測試和部署
  • 3.適合於異構系統(跨作業系統、多語言簡易實現)
  • 4.所有寫操作介面(增、刪、改 操作)
  • 5.非公開的讀介面(如:涉密/敏感/隱私 等)

1.3 加密演算法

  • ES
  • RSA
  • Base64
  • MD5

1.4 有哪些保護方式

1.4.1 非登入(自約定資料加密)——(報文sha+金鑰+加密演算法)

  • 只作為Header傳遞:Md5
  • 整體作為報文傳遞:解密,SHA

依賴瀏覽器

1.4.3 登入:JWT

一切源於HttpContext,重點是 Claim,移動端和SPA更好

  • 自定義鑑權:比較靈活,可以隨意設計
  • 官方定義:正規,完整的寫法

2.JWT核心知識點

2.1 什麼是claim?

在 .net core 基礎類庫中是含有Claim的實現類的,它的位置是
System.Security.Claims.Claim

2.2 什麼是JWT?

image

2.3 jwt的好處

image

3.如何使用JWT

image