我正在我的应用程序中进行用户身份验证,这是通过jwt保存的cookie完成的,当我发出请求时,客户端可以毫无问题地获取cookie,但是当客户端更新页面或仅f5时,cookie被删除,我正在调查它是否发生在localhost上或我的代码中存在问题, 但我没有找到与我的问题有关的任何东西。这是我在 Go 中的代码:
func Login(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
u := model.User{}
if err := json.NewDecoder(r.Body).Decode(&u); err != nil {
http.Error(w, "format incorrect", http.StatusBadRequest)
return
}
user, equals, err := u.AccessControll(u.Email, u.Password)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
if !equals {
http.Error(w, "ups", http.StatusBadRequest)
return
}
token, err := jwt.CreateToken(user)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
cookie := http.Cookie{
Name: "token",
Value: token,
Expires: time.Now().Add(5 * time.Minute),
HttpOnly: true,
}
http.SetCookie(w, &cookie)
}
红颜莎娜
相关分类