【问题标题】:EBADCSRFTOKEN: Invalid CSRF token in adonis jsEBADCSRFTOKEN:adonis js 中的无效 CSRF 令牌
【发布时间】:2018-11-02 21:26:00
【问题描述】:

我在尝试使用 ivew Ui 上传组件时收到EBADCSRFTOKEN: Invalid CSRF token。试图设置这样的标题

this.headerCsrf['X-XSRF-TOKEN'] = document.cookie.split("XSRF-TOKEN=")[1]

它使用键 X-XSRF-TOKEN 添加标题,但我仍然收到此错误。请帮忙。我正在使用 adonuxt..

【问题讨论】:

    标签: vue.js adonis.js


    【解决方案1】:

    我无法从您对控制器的调用中猜出上下文。但我的标头使用 AJAX 以以下格式正确发送:

    headers: {'x-csrf-token': $('[name=_csrf]').val()},
    

    或者,您可以在 config/shield.js 文件中禁用 CSRF auth,在底部将启用变量设置为 false,如下所示:

     csrf: {
        enable: false,
        methods: ['POST', 'PUT', 'DELETE'],
        filterUris: [],
        cookieOptions: {
          httpOnly: false,
          sameSite: true,
          path: '/',
          maxAge: 7200
        }
      }
    

    【讨论】:

    • 禁用csrf不是一个好主意..如何在纯js中使用上述代码?
    • 我的回答是关于使用 jquery 的 Ajax 调用,我在工作
    【解决方案2】:

    你可以像这样在 filterUris 中添加你的路由路径

    csrf: {
    enable: true,
    methods: ['POST', 'PUT', 'DELETE'],
    filterUris: ['/firstroute','*',],
    cookieOptions: {
      httpOnly: false,
      sameSite: true,
      path: '/',
      maxAge: 7200
    }
    

    }

    有关此检查的更多信息link

    【讨论】:

      猜你喜欢
      • 2015-10-31
      • 1970-01-01
      • 2021-06-19
      • 2020-01-02
      • 2017-07-15
      • 1970-01-01
      • 2018-05-12
      • 2019-09-05
      • 2022-08-16
      相关资源
      最近更新 更多