如何跨子域进行身份验证

时间:2014-09-01 15:46:17

标签: authentication go cross-domain

我正在开发一个Web应用程序,它实际上由两个应用程序组成。一个应用程序称为account,处理与用户帐户相关的所有事务,例如帐户的身份验证,注册和管理。我还有一个应用程序,我们只需拨打web

问题是account使用SSL / TLS侦听https://account.domain.com,并且网络侦听http://www.domain.com

我有哪些选项可让人们登录并验证account.domain.com,然后将其重定向到www.domain.com,然后他们才真正登录。据我所知,您可以&# 39;在account.domain.com上设置Cookie,然后让它在domain.com上运行,因为这会带来安全风险。

有关我的应用程序的一些背景细节:

  1. 用Go编程语言编写。

  2. 使用Gorilla Toolkit进行大多数HTTP / HTTPS接口,URL路由和处理POST / GET参数。

  3. 两个应用程序都存在于同一个虚拟服务器上。

  4. 我正在寻找的是一种安全的方式来验证和管理跨域domain.com的所有子域的会话。我不是特别精通这个主题,所以除了设置cookie之外,我不太了解。

1 个答案:

答案 0 :(得分:2)

我对大猩猩不太熟悉,但是应该这样做:

var store = sessions.NewCookieStore([]byte("something-very-secret"))

func init() {
    store.Options = &sessions.Options{
        Domain:   "domain.com", //this
        HttpOnly: true,
    }
}

基本上,您只需将Cookie的域名设置为.domain.com(前缀为.),https://stackoverflow.com/a/1063760/145587

//修改

据@Volker说,不需要点(见评论)。

相关问题