【问题标题】:Cookie authentication and multiple domainsCookie 身份验证和多个域
【发布时间】:2017-01-17 09:07:25
【问题描述】:

所以我们有一个托管在 www.website.com 的网站和另一个托管在 www.app.website.com 的网络应用程序。

www.website.com 可供匿名用户使用,并使用 Wordpress 创建。

另一方面,www.app.website.com 是一个 Html5 + AngularJs + C# Web API,它依赖于 cookie 身份验证。

当前情景

  • 用户访问 www.website.com 并点击“登录”
  • 浏览器将他们重定向到 www.app.website.com
  • 如果他们通过了身份验证,那么 www.app.website.com 会将他们重定向到经过身份验证的用户页面
  • 否则,将他们重定向到登录页面

问题

  • 用户访问 www.website.com
  • 如果它们经过身份验证,即具有有效的 cookie,www.website.com 应将它们重定向到 www.app.website.com
  • 否则,他们将停留在 www.website.com 直到他们按下“登录”

据我了解,我们可以发布跨域 cookie,但出于安全原因,我们应该阻止 Javascript 访问它们。

考虑到这一点,最好的重定向策略是什么?

编辑: 颁发的 auth cookie 是HttpOnly

【问题讨论】:

  • 您是否尝试使用带有“.website.com”的 cookie?讨论在这里:stackoverflow.com/questions/315132/…
  • 感谢 mkysoft!这将解决部分问题(为多个域发出 cookie),其余部分(重定向)仍然打开。
  • 可以使用js导航:window.location = "anothersite.com"
  • 问题是如何检测我们可以重定向用户?

标签: c# wordpress authentication cookies asp.net-web-api


【解决方案1】:

可以用js查看cookies:check cookie if cookie exists Wordpress 使用名为 wordpress_logged_in_xxxxx 的 cookie 用于登录用户。 js检测cookie时,重定向站点。

【讨论】:

  • 如果 cookie 是 HttpOnly 怎么办?他们肯定不能从 javascript 访问?
  • @JCS 正确方式(使用 http 或 https 运行)正在为此构建自己的插件。也已经有开放式身份验证。可能你只用你的系统做一点改变:wordpress.org/plugins/wp-oauth
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 2019-02-25
  • 2014-12-30
  • 1970-01-01
  • 2021-12-20
相关资源
最近更新 更多