我有一个用 Golang 编写的简单服务器,它应该处理登录请求并设置一些 cookie。但问题是我无法访问我的 React Js 项目中的 cookie 我使用以下代码设置 cookie: if OTPValidate.Result.Status == "success" { log.Println("Setting Cookies") session := sessions.DefaultMany(ginContext, "session") session.Set("MobileNumber", Number) session.Set("GUID", OTPValidate.GUID) session.Set("PersonId", OTPValidate.PersonID) if err != nil { logger.Error(logger.FuncName() + err.Error()) } session.Options(sessions.Options{MaxAge: 2592000}) // 30 Day session.Save() }目前使用 Cookies Js 获取 cookies: const cookie = Cookies.get('session') console.log(cookie)但它打印未定义我检查了浏览器网络选项卡内的请求标头,它看起来很好:网络标签截图但我仍然无法让他们做出反应
1 回答

12345678_0001
TA贡献1802条经验 获得超5个赞
提供从 JS 到授权 cookie 的访问是不可接受的,这将导致您发生严重事件,导致用户无法访问其帐户:https ://en.wikipedia.org/wiki/Secure_cookie 。
但是,如果您仍然想这样做,正如 Osman 在评论中所说,您需要确保以正确的方式设置 cookie:
http.SetCookie(w, &http.Cookie{
Name: `session`,
Value: url.QueryEscape(sid),
Expires: time.Now().Add(time.Hour),
Path: "/",
Secure: false, // Secure = false allow to access from js
HttpOnly: true,
SameSite: http.SameSiteNoneMode,
})
- 1 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消