【问题标题】:How to enable CSRF in Grails using Reactjs front-end + spring security如何使用 Reactjs 前端 + spring security 在 Grails 中启用 CSRF
【发布时间】:2021-09-11 15:18:23
【问题描述】:

我想在我的 Grails 应用程序中使用 Reactjs 前端启用 CSRF。我在文档中没有看到任何关于如何进行此操作的明确步骤。

我已将标头配置为在向后端发出任何请求时发送 CSRF 令牌:

     'Content-Type': 'application/json',
    'Authorization': `Bearer ${ *********, 'access_token')}`,
    'X-Csrf-Token':Cookie.load('XSRF-TOKEN')

我需要有关如何在后端拦截请求并验证 CSRF-TOKEN 的帮助。

编辑

我看到了一篇文章,我从中实现了这一点:

@Configuration
class CorsFilterConfig {

    @Bean
    FilterRegistrationBean corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource()
        CorsConfiguration config = new CorsConfiguration()
        config.setAllowCredentials(true)
        config.addAllowedOrigin("*")
        config.addAllowedHeader("*")
        config.addAllowedMethod("*")
        source.registerCorsConfiguration("/**", config)
        FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source))
        bean.setOrder(0)
        return bean
    }
}

我现在的问题是在我的标题中包含 XSRF-TOKEN。我当前的实现不起作用。

【问题讨论】:

标签: reactjs grails spring-security csrf


【解决方案1】:

处理令牌的 spring-security-rest 插件也解决了这个问题:https://gitter.im/alvarosanchez/spring-security-rest?at=566e32a26a17cd3b36dcc8e9

也可以在这里查看:https://github.com/grails-plugins/grails-spring-security-rest/issues/216

从表面上看,你可能需要编写自己的令牌阅读器(这并不难)

【讨论】:

  • 感谢您的回复@Orubel。我没有发现这篇文章有用。
猜你喜欢
  • 2016-08-16
  • 2014-02-09
  • 2016-08-13
  • 2015-12-05
  • 2019-10-16
  • 2021-04-14
  • 2021-02-06
  • 2014-03-24
  • 1970-01-01
相关资源
最近更新 更多