3 回答

TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊
您將使用中間件進(jìn)行身份驗證。
您可以嘗試使用go-http-auth進(jìn)行基本和摘要式身份驗證,并嘗試使用 gomniauth進(jìn)行 OAuth2。
但是如何進(jìn)行身份驗證實際上取決于您的應(yīng)用程序。
身份驗證將狀態(tài)/上下文引入您的 http.Handlers 中,最近對此進(jìn)行了一些討論。
上下文問題的眾所周知的解決方案是這里描述的gorilla/context和google context。
我做了一個更通用的解決方案,不需要go-on/wrap中的全局狀態(tài),可以一起使用或不使用其他兩個,并且很好地與上下文無關(guān)中間件集成。
wraphttpauth提供了 go-http-auth 與 go-on/wrap 的集成。

TA貢獻(xiàn)1772條經(jīng)驗 獲得超6個贊
在 2018 年回答這個問題。我建議使用 JWT(JSON Web Token)。您標(biāo)記為已解決的答案有缺點,即它在前面(用戶)和后面(服務(wù)器/數(shù)據(jù)庫)所做的行程。更糟糕的是,如果用戶頻繁執(zhí)行需要身份驗證的請求,將導(dǎo)致來自/到服務(wù)器和數(shù)據(jù)庫的請求臃腫。為了解決這個問題,使用 JWT 將令牌存儲在用戶端,用戶可以在需要訪問/請求時隨時使用。無需前往數(shù)據(jù)庫和服務(wù)器處理來檢查令牌有效性,只需很短的時間。
- 3 回答
- 0 關(guān)注
- 244 瀏覽
添加回答
舉報