Stormpath Spring 引导重定向循环

Stormpath Spring Boot redirect loop

使用 Stormpath 和 Spring 引导(基于 this tutorial),在我启动服务器并使用我的凭据成功登录后,一切正常。但是,当我退出浏览器并尝试打开我的应用程序时,我得到了一个重定向循环。

A minimal example is available here as an archive. It's a Gradle project. cd into the directory inside the archive and start the server with ./gradlew bootRun. The app will be accessible at http://localhost:8080. A Stormpath API key is needed for this. Register, get an API key 并将 apiKey-XXX.properties 文件复制到 ~/.stormpath/apiKey.properties。这样 Spring Boot 将拾取文件并默认使用它(仅当您在 Stormpath 中定义了单个应用程序时)。

登录,然后退出浏览器(在 Mac 上不要只用红色按钮关闭它,使用 command-q 或右键单击浏览器图标并退出)。重新启动它并再次尝试访问 http://localhost:8080。那是我得到重定向循环的时候。在 Mac 和 Windows、Firefox 和 Chrome 上试过,同样发生。

如果我打开开发者控制台,我可以看到首先我被重定向到登录页面(足够公平),然后我被重定向到 /(奇怪)等等...

当我第一次登录时,我可以看到为本地主机创建了一个名为 account 的 cookie,并且还创建了一个 JSESSIONID。当我重新启动浏览器时,account cookie 完好无损,JSESSIONID 由服务器重新生成。所以我猜这种行为与 JSESSIONID 绑定到登录会话或其他东西有关。

有没有办法配置这种行为?浏览器重新启动后,用户应该 a) 仍处于登录状态或 b) 能够再次登录。有什么想法吗?

此外,附带说明一下,我正在使用 AngularJS 应用程序作为我的前端。我不认为这应该有任何区别,但我认为它可能很重要(示例应用程序为此包含一些 AngularJS hello world 代码)。

更新

此问题已被 Stormpath 标记为错误,在 com.stormpath.spring:stormpath-default-spring-boot-starter:1.0.RC8.1 发布后现已修复。 .

我是 Stormpath 的 Java 开发者传播者。

我无法使用您的 zip 文件复制该行为。

但是,我们以前见过这个。它与浏览器积极缓存 302 重定向有关,尤其是针对 localhost.

这里有一个关于 Chrome 中的问题的参考:http://kmarsden.com/chrome-redirect-cache/

清除缓存应该可以解决问题。

而且,这 永远不会 在生产环境中发生。

gif of Firefox interaction