Stormpath idSite 环境身份验证问题

Stormpath idSite Authentication issues with environments

我有一个 Java 应用程序使用 Spring 引导并利用 Stormpath idSite 功能。当我使用我的应用程序在本地通过 idSite 连接到 Stormpath 时,身份验证机制工作正常;我可以登录并获得一个帐户对象。这适用于我的 IDE 以及独立的(运行ning java -jar)。

当我部署我的应用程序(Uber-jar,嵌入式 tomcat)和 运行 它时,身份验证似乎在运行(注销重定向到 idSite,un/pw 有效)。但是,当我从登录 return 时,com.stormpath.sdk.account.Account 对象永远不会 returned,尽管 Application 对象是。

我编写了一个快速例程来验证 HttpServletRequest 中 returned 的内容,方法是:

Enumeration<String> e = request.getAttributeNames();
        while (e.hasMoreElements()) {
            attr += e.nextElement() + "<BR />";
        }

并看到帐户对象在登录后不存在,除非我在我的开发机器上。

在此之后进行调查的良好途径是什么?

听起来您可能 运行 遇到了这个问题,因为您的部署环境不受 SSL 保护。

Stormpath 仅允许本地主机的 http 连接 - 以便能够进行测试。

一旦您的应用程序处于任何类型的部署环境中,所有连接都必须是 https。

如果它不是 https,那么 Stormpath 将不会设置帐户 cookie,如您所见。

出于测试目的,您可以使用自签名证书,但您不希望在生产环境中使用它。

注意:启用 SSL 部署环境后,您需要更新 ID 站点设置中的授权重定向 URL 以反映这一点。

希望对您有所帮助!

完全披露:我为 Stormpath 工作