go - 我可以为另一个域指定和设置 http-only cookie 吗?

标签 go cookies browser oauth

假设我有一个有两个域的服务

app.myapp.com
api.myapp.com

我的应用执行整个 OAuth/OpenID 流程。

app.myapp.com/oauth
app.myapp.com/oauth/callback

/callback 中,我将 accessToken 设置为当前域 (app.myapp.com) 上的仅限 http 的 cookie。

我在 api.myapp.com 上有各种各样的微服务,所有这些都需要 accessToken 才能工作。

在 OAuth 流程的 /callback 阶段,我可以在我的 http-only cookie 中指定其他域吗?

我正在使用 Go + Gin

c.SetCookie(
    "accessToken", 
    accessToken, 
    3600, 
    "/", 
    "", 
    false, 
    true,
)

最佳答案

好吧,这取决于。一般来说,不可以,您不能为不同的域设置 cookie。

但是您可以通过设置 cookie 的域属性为您“控制”的域的所有子域设置 cookie(阅读 RFC 6265 和 publicsuffix.org 了解详细信息)。

关于go - 我可以为另一个域指定和设置 http-only cookie 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55085141/

相关文章:

go - 通过公共(public)服务器使用 NAT 后面的客户端作为代理

go - Gazelle 没有创建正确的依赖关系?

javascript - 为什么要将 CSRF token 放入 JWT token 中?

java - 保护 jsp 页面的安全

Golang 获得一个 Action 的处理时间

go - 我想为警告、调试、错误和信息生成四个日志文件。我想控制应该在运行时打印哪个文件

python - 使用 Python 请求进行 Cookie 身份验证

deployment - 创建浏览器扩展

javascript - 减少http请求应该先做什么?

javascript - 使用javascript访问浏览器的页面缩放控件