實戰(zhàn)第11期:認(rèn)證與授權(quán))
文章目錄引言:認(rèn)證與授權(quán)一、本篇學(xué)習(xí)目標(biāo)與準(zhǔn)備二、核心概念與實現(xiàn)思路1. 認(rèn)證和授權(quán)的區(qū)別2. `Authorization: Bearer` 是什么3. `AuthMiddleware` 負(fù)責(zé)什么4. 為什么把用戶放進(jìn) context5. `RequireRole` 負(fù)責(zé)什么6. 為什么 `/me` 和 `/admin` 要分開保護7. 為什么示例把 API Key 做 SHA-2568. 生產(chǎn)項目通常怎么做9. 401、403 和信息泄露10. API Key 的安全注意事項三、課程實戰(zhàn):運行、源碼與測試1. 怎么運行核心源碼拆解:`AuthMiddleware`源碼中的測試:`TestPublicEndpointDoesNotNeedAuthentication`四、實戰(zhàn)練習(xí)擴展練習(xí) 1:驗證權(quán)限失敗不執(zhí)行業(yè)務(wù)擴展練習(xí) 2:擴展資源歸屬授權(quán)五、常見問題與排錯問題 1:普通用戶為什么可以訪問 /me,卻不能訪問 /admin?問題 2:把 Key 做 SHA-256 就能當(dāng)作密碼方案嗎?六、與前文的聯(lián)系和工程應(yīng)用七、本篇小結(jié)下期預(yù)告?創(chuàng)作者:全棧弄潮兒?? 個人主頁:全棧弄潮兒的個人主頁??? 個人社區(qū),歡迎你的加入:全棧開發(fā)社區(qū)?? 專欄:Go零基礎(chǔ)實戰(zhàn)引言:認(rèn)證與授權(quán)“已經(jīng)登錄”并不代表“可以訪問所有接口”。本篇用兩組演示 API Key 區(qū)分普通用戶和管理員,先在認(rèn)證中間件確認(rèn)身份,再在角色檢查中決定訪問權(quán)限,通過 401 和 403 觀察兩種失敗的區(qū)別。一、本篇學(xué)習(xí)目標(biāo)與準(zhǔn)備區(qū)分身份認(rèn)證與操作授權(quán)。解析 Bearer 憑證并寫入請求身份。組合認(rèn)證和角色檢查中間件。課程目錄:backend-training/Go/11-auth-a