| 身份驗證 | 授權(quán) |
|---|---|
| 出示駕照 → 證明你是張三 | 鑰匙卡 → 只能進 3 樓,不能進老板辦公室 |

| 方案 | 傳輸方式 | 安全級別 | 適用場景 | 一句話提醒 |
|---|---|---|---|---|
| HTTP Basic | Base64(usr:pwd) | ? | 內(nèi)部測試 | 必須 + HTTPS,否則等于裸奔 |
| Bearer Token | Authorization: Bearer <token> |
?? | 第一方 SPA/移動 App | 令牌別放 URL |
| API Key | Header/Query | ?? | 只讀開放數(shù)據(jù) | 定期輪換,別寫死在前端 |
| OAuth 2.0 | 訪問令牌 + 刷新令牌 | ???? | 第三方/復(fù)雜權(quán)限 | 選授權(quán)碼 + PKCE,一勞永逸 |
下面展開講“怎么玩”和“怎么踩坑”。
Authorization: Basic am9objoxMjM0NTY=
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
懶得手寫驗簽?對 代碼生成 說“用 Go 寫個 Bearer 中間件帶刷新邏輯”,秒出可編譯代碼 + 單測。??
Authorization: Apikey 1234567890abcdef
輪換策略搞不清?讓 代碼優(yōu)化 幫你把“定時任務(wù) + 雙密鑰緩沖”模板跑一遍,性能與安全兼得。?
| 流 | 適用場景 | 特點 |
|---|---|---|
| 授權(quán)碼 | 服務(wù)器端/移動 Web | 安全最高,支持刷新令牌 |
| 授權(quán)碼 + PKCE | 原生/SPA | 防授權(quán)碼截獲,2022 后官方推薦 |
| 客戶端憑據(jù) | 服務(wù)器→服務(wù)器 | 無用戶參與,快速獲取訪問令牌 |
| 資源所有者密碼 | 受信任第一方 | 風(fēng)險高,IETF 已不建議 |
想給老板匯報“OAuth 實施進度”?用 開發(fā)任務(wù)管理系統(tǒng) KPI 輸入“3 個月內(nèi)完成授權(quán)碼 + PKCE 上線”,自動拆解成周任務(wù)、人天、驗收標(biāo)準(zhǔn)。??
一句話:如果既需要“授權(quán)”又需要“告訴我他是誰”,直接用 OIDC,別再自己拼裝 JWT。
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://example.com/oauth/authorize
tokenUrl: https://example.com/oauth/token
scopes:
read: Grants read access
write: Grants write access
security: - bearerAuth: [] - oauth2: [read] 給出降級順序 寫 YAML 太易出錯?把需求句“用 OpenAPI 3.1 描述 OAuth2 授權(quán)碼流”喂給 代碼文檔生成器,秒出帶注釋的規(guī)范片段,復(fù)制即可用。??
安全沒有銀彈,只有“合適場景 + 合適鑰匙 + 持續(xù)巡檢”。把重復(fù)勞動交給 AI,把精力留給業(yè)務(wù)創(chuàng)新,才能既快又穩(wěn)。??
原文鏈接: https://blog.restcase.com/4-most-used-rest-api-authentication-methods/