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 的工程师之一。
尝试将 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 的工程师之一。