子域间基于Cookie的身份验证

时间:2012-05-14 09:12:25

标签: authentication cookies session-cookies subdomain

我正在建立一个中央身份验证服务(auth.xyz.com),类似于Google在accounts.google.com上的身份验证服务。我有多个应用程序,每个应用程序运行在不同的子域(app1.xyz.com,app2.xyz.com),它将与我的auth服务集成。

我目前正在关注基于cookie的系统,该系统是在“.xyz.com”域上编写的,因此所有子域都可以读取它。

我的问题是我无法计算如何处理cookie过期。如果用户在时间t登录,并在app1.xyz.com上花费45分钟,然后转到app2.xyz.com,我不希望他再次登录。此外,如果用户登录app1.xyz.com然后闲置45分钟,然后点击app2.xyz.com,我希望他必须重新登录。我怎样才能做到这一点?

我不想在app1或app2上的每个请求上触摸auth服务器。

1 个答案:

答案 0 :(得分:0)

我认为这不可能。如果是这样的话,整个应用程序流中都会有一个安全漏洞。一个cookie过期的用户仍然可以访问服务器app1和app2上的资源而无需身份验证或某些其他值得信赖的机制!。