StormPath Spring 引导集成 - 收到无效的 CORS 请求错误

StormPath Spring Boot Integration - getting Invalid CORS request error

尝试将 StormPath 与 Spring 引导集成,收到多个错误。下面是应用程序设置。

使用 stormpath-default-spring-boot-starter 版本 1.2.1。

1) application.properties contains only stormpath id, secret and href as follows,

stormpath.client.apiKey.id = <id>
stormpath.client.apiKey.secret = <secret>
stormpath.application.href = <href>

2) SpringSecurityWebAppConfig.Java (Override spring security)

@Configuration
public class SpringSecurityWebAppConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.apply(stormpath());
    }
}

When application is run,
------------------------
1) http://localhost:8080/register renders register screen. 

2) http://localhost:8080/login (GET) throws error "Unable to invoke StormPath controller: Resolved account store cannot be an Organization".

3) http://localhost:8080/login (POST)  (from PostMan) throws error "Invalid CORS request".

感谢帮助。

对于您的问题 #2,我们发布了 SDK v1.2.2 并解决了您现在面临的问题。当组织 and/or 组映射到应用程序时,出现了这个问题。更新库版本将允许您呈现 login 页面。

至于#3,您有两个选项可以禁用 CORS 过滤器 stormpath.web.cors.enabled = false 或将 PostMap origin header 添加到允许的 originUris 列表中,即 stormpath.web.cors.allowed.originUris = <origin-header-value>.

如果您想深入了解 CORS,您可能有兴趣查看来自 Stormpath Evangelists 之一的博客 Tips and Tricks for AngularJS and Spring Boot with Stormpath 文章。

希望这对您有所帮助,

何塞·路易斯

完全披露:我是 Stormpath 的工程师之一。