[英]API Authentication flow
我目前正在Go中編寫一個API,並且一直在思考如何正確安全地進行身份驗證/授權。
據我了解,這就是它的方式:
api/user/register
端點(或現有用戶的api/user/login
)注冊帳戶 我的問題是關於刷新令牌的步驟。
我也在編寫客戶端應用程序(在React中); 我不會向公眾發布API。 我只是將后端編寫為客戶端應用程序的API。
api/auth/token
路由嗎? 我在實現示例中繼續閱讀它們,我覺得我可以只使用一些輔助函數來查詢數據庫並在我的后端代碼中重新發出令牌,而不必查詢另一個端點來執行此操作。 對不起,如果他們是愚蠢的問題,但我一直在仔細閱讀詳細說明auth規范,頁面之間的細微差別使我感到困惑,不確定什么是生產中真正的“最佳實踐”。
我認為你對登錄這個詞感到困惑。 而不是/api/user/login
我稱之為/api/user/authentication
。 因此,如果請求的json附加到其主體,則返回有效的令牌。 但是,如果請求獲得了有效的Authentication Header,您只需在相同的時間段內發出一個有效的新令牌。 這對前端特別有用,因此您可以嘗試自動重新驗證。
newUser := types.User{}
if r.Body != nil {
err := json.NewDecoder(r.Body).Decode(&newUser)
...
}
authHeader := r.Header.Get("Authorization")
if authHeader != "" {
_, err := USERAUTH.CHeckJWT(w,r)
if err !=nil {
...,
}
newToken := GenerateTokenFromToken(token)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.