實(shí)戰(zhàn)第11期:認(rèn)證與授權(quán))
文章目錄引言:認(rèn)證與授權(quán)一、本篇學(xué)習(xí)目標(biāo)與準(zhǔn)備二、核心概念與實(shí)現(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` 要分開保護(hù)7. 為什么示例把 API Key 做 SHA-2568. 生產(chǎn)項(xiàng)目通常怎么做9. 401、403 和信息泄露10. API Key 的安全注意事項(xiàng)三、課程實(shí)戰(zhàn):運(yùn)行、源碼與測試1. 怎么運(yùn)行核心源碼拆解:`AuthMiddleware`源碼中的測試:`TestPublicEndpointDoesNotNeedAuthentication`四、實(shí)戰(zhàn)練習(xí)擴(kuò)展練習(xí) 1:驗(yàn)證權(quán)限失敗不執(zhí)行業(yè)務(wù)擴(kuò)展練習(xí) 2:擴(kuò)展資源歸屬授權(quán)五、常見問題與排錯(cuò)問題 1:普通用戶為什么可以訪問 /me,卻不能訪問 /admin?問題 2:把 Key 做 SHA-256 就能當(dāng)作密碼方案嗎?六、與前文的聯(lián)系和工程應(yīng)用七、本篇小結(jié)下期預(yù)告?創(chuàng)作者:全棧弄潮兒?? 個(gè)人主頁:全棧弄潮兒的個(gè)人主頁??? 個(gè)人社區(qū),歡迎你的加入:全棧開發(fā)社區(qū)?? 專欄:Go零基礎(chǔ)實(shí)戰(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