登录
首页 >  Golang >  Go问答

实现前端与后端共享 cookie

来源:stackoverflow

时间:2024-02-16 13:09:21 472浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《实现前端与后端共享 cookie》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

我在 go 服务器中使用 cookie 进行身份验证。登录基本上是:

                cookie := &http.cookie{
                    name:     "secret",
                    value:    "secretvalue",
                    domain:   "localhost",
                    path:     "/",
                    expires:  time.now().add(24 * time.hour),
                    secure:   true,
                    httponly: false,
                }
                c.writer.header().set("set-cookie", cookie.string())

在我的浏览器中,如果我导航到后端(端口 8000)并使用我创建的 html 登录,它可以工作,但是如果我转到我的 react 前端(端口 3000),我会在 fetch 的响应中看到 cookie请求登录,但任何后续对 api 的请求都没有 cookie。

这是我的 cors 设置:

    r.Use(cors.New(cors.Config{
        AllowOrigins:     []string{"*"}, // This will remain * until a good func for dev and release is made to replace it.`AllowOriginFunc: `
        AllowMethods:     []string{"*"},
        AllowHeaders:     []string{"*"},
        ExposeHeaders:    []string{"*"},
        AllowCredentials: true,
        MaxAge:           24 * time.Hour,
    }))

正确答案


我必须更改 alloworigins。也许这是因为 * 没有包含所有端口。

    r.Use(cors.New(cors.Config{
        AllowOrigins:     []string{"http://localhost:3000", "http://localhost:8000"}, // This will remain until a good func for dev and release is made to replace it.`AllowOriginFunc: `
...

终于介绍完啦!小伙伴们,这篇关于《实现前端与后端共享 cookie》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>