第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang REST API - 從經(jīng)過驗證和解碼的令牌傳遞信息

Golang REST API - 從經(jīng)過驗證和解碼的令牌傳遞信息

Go
達(dá)令說 2022-10-10 20:01:27
我已經(jīng)設(shè)置了中間件來驗證并從 JWT 令牌中提取聲明(使用https://github.com/golang-jwt/jwt)。我現(xiàn)在的問題是我想以某種方式將該信息傳遞給路由處理函數(shù),以便它可以檢查存儲在令牌中的權(quán)限。我很難在這方面找到好的資源,但我看到了兩個建議,一個是在驗證后使用 REDIS 存儲令牌信息,另一個是使用 http.Request 上下文。我寧愿不使用 REDIS,所以我認(rèn)為它真的只給我留下了 Context?盡管我正在努力尋找關(guān)于整個上下文的體面資源,以及此類用例的上下文。另一種選擇是讓中間件驗證令牌,然后在處理程序函數(shù)本身內(nèi)提取 JWT 聲明而不再次驗證令牌?任何幫助/鏈接/建議將不勝感激......我知道在 Go 中有很多方法可以給貓剝皮,但我寧愿遵循最佳實踐。
查看完整描述

1 回答

?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗 獲得超4個贊

這是一個很好的教程Contexthttps ://go.dev/blog/context 。之前也有關(guān)于上下文和中間件的 SO 討論,例如How to pass context in golang request to middleware

您可以使用context.WithValue將任意鍵-> 值映射添加到上下文,然后是請求的WithValue方法:

它可以很簡單:

func middleware(rw http.ResponseWriter, req *http.Request, next http.Handler) {
    ctx := context.WithValue(req.Context(), "key", "value")
    next.ServeHTTP(rw, req.WithContext(ctx))}


查看完整回答
反對 回復(fù) 2022-10-10
  • 1 回答
  • 0 關(guān)注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號