Rails Can't verify CSRF token authenticity ajax with X-CSRF-TOKEN header

lokhi

I try to register a service worker endpoint in my database but when I send my post data with fetch the app raise an error.

I want to keep the csrf verification. Do you see something wrong ?

            var ready;

            ready = function(){
              if ('serviceWorker' in navigator) {
               console.log('Service Worker is supported');
                navigator.serviceWorker.register('/service-worker.js').then(function(reg) {

                 reg.pushManager.subscribe({
                     userVisibleOnly: true
                 }).then(function(sub) {
                     console.log('endpoint:', sub.endpoint);
                     console.log(sub);
                     var token = $('meta[name=csrf-token]').attr('content')
            console.log(token);

                     return fetch('/register_endpoint', {
                    method: 'post',
                    headers: {
                      'Content-type': 'application/json',
                      'X-CSRF-TOKEN': token
                    },
                    body: JSON.stringify({
                      endpoint: sub.endpoint,
                      authenticity_token: token

                    })
                  });
                 });


               }).catch(function(err) {
                 console.log('Erreur -> ', err);
               });
              }

            };



            $(document).ready(ready);
            $(document).on('page:load',ready);

thanks

7urkm3n

$ajax or fetch Both works in yr case .

let token = function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))};

$.ajax({ url: URL,
  type: 'POST',
  beforeSend: token,
  data: 'someData=' + someData,
  success: function(response) {
    $('#someDiv').html(response);
  }
});


#OR

return fetch( URL, {
 method: 'post',
 headers: {
  'Content-type': 'application/json',
  'X-CSRF-TOKEN': token
  },
  body: JSON.stringify({endpoint: sub.endpoint}),
  credentials: 'same-origin'
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在表单vs CSRF令牌上使用Rails authenticity_token

来自分类Dev

Rails无法使用X-CSRF-TOKEN标头验证CSRF令牌的真实性ajax

来自分类Dev

Can't Get CSRF Token to Appear on a Django Template/View

来自分类Dev

找不到csrf_token django ajax

来自分类Dev

无法运作{%csrf_token%}

来自分类Dev

Laravel csrf_token问题

来自分类Dev

如何配置Spring Security发送“ X-CSRF-TOKEN”?

来自分类Dev

在Angular 2中获取X-CSRF-TOKEN

来自分类Dev

如何在 GET 请求中发送 x-csrf-token?

来自分类Dev

session [:_ csrf_token]与rails 4.2.1中的csrf_meta_tags不同

来自分类Dev

Laravel CSRF中间件未检查X-CSRF-TOKEN请求标头

来自分类Dev

在@csrf_exempt之后避免使用csrf_token和使用@requires_csrf_token

来自分类Dev

CSRF _token值以登录表单刷新

来自分类Dev

django csrf_token 丢失错误

来自分类Dev

“ rest_framework CSRF令牌失败”,但已在请求标头中将其设置为“ X-CSRF-Token”

来自分类Dev

在Broadleaf项目中,HTTP状态403-在请求参数'_csrf'或标头'X-CSRF-TOKEN'上发现无效的CSRF令牌'null'

来自分类Dev

Laravel Session:token和csrf_token之间的区别

来自分类Dev

使用Ajax时如何为Chrome浏览器修复Codeigniter Csrf_token?

来自分类Dev

将X-CSRF-Token标头全局添加到XMLHttpRequest()的所有实例;

来自分类Dev

如何在基于角度的cordova应用程序中正确处理X-CSRF-TOKEN?

来自分类Dev

对于Ruby on Rails-authenticity_token不起作用

来自分类Dev

如何在JavaScript中使用{%csrf_token%}

来自分类Dev

Django如何在模板中获取csrf_token值

来自分类Dev

Django how to get csrf_token value in the template

来自分类Dev

打开YII_CSRF_TOKEN安全标志

来自分类Dev

Django render_to_string()忽略{%csrf_token%}

来自分类Dev

chrome中的Django csrf_token为null

来自分类Dev

Django csrf_token没有实现隐藏字段

来自分类Dev

在Django上测试发布请求,csrf_token

Related 相关文章

  1. 1

    在表单vs CSRF令牌上使用Rails authenticity_token

  2. 2

    Rails无法使用X-CSRF-TOKEN标头验证CSRF令牌的真实性ajax

  3. 3

    Can't Get CSRF Token to Appear on a Django Template/View

  4. 4

    找不到csrf_token django ajax

  5. 5

    无法运作{%csrf_token%}

  6. 6

    Laravel csrf_token问题

  7. 7

    如何配置Spring Security发送“ X-CSRF-TOKEN”?

  8. 8

    在Angular 2中获取X-CSRF-TOKEN

  9. 9

    如何在 GET 请求中发送 x-csrf-token?

  10. 10

    session [:_ csrf_token]与rails 4.2.1中的csrf_meta_tags不同

  11. 11

    Laravel CSRF中间件未检查X-CSRF-TOKEN请求标头

  12. 12

    在@csrf_exempt之后避免使用csrf_token和使用@requires_csrf_token

  13. 13

    CSRF _token值以登录表单刷新

  14. 14

    django csrf_token 丢失错误

  15. 15

    “ rest_framework CSRF令牌失败”,但已在请求标头中将其设置为“ X-CSRF-Token”

  16. 16

    在Broadleaf项目中,HTTP状态403-在请求参数'_csrf'或标头'X-CSRF-TOKEN'上发现无效的CSRF令牌'null'

  17. 17

    Laravel Session:token和csrf_token之间的区别

  18. 18

    使用Ajax时如何为Chrome浏览器修复Codeigniter Csrf_token?

  19. 19

    将X-CSRF-Token标头全局添加到XMLHttpRequest()的所有实例;

  20. 20

    如何在基于角度的cordova应用程序中正确处理X-CSRF-TOKEN?

  21. 21

    对于Ruby on Rails-authenticity_token不起作用

  22. 22

    如何在JavaScript中使用{%csrf_token%}

  23. 23

    Django如何在模板中获取csrf_token值

  24. 24

    Django how to get csrf_token value in the template

  25. 25

    打开YII_CSRF_TOKEN安全标志

  26. 26

    Django render_to_string()忽略{%csrf_token%}

  27. 27

    chrome中的Django csrf_token为null

  28. 28

    Django csrf_token没有实现隐藏字段

  29. 29

    在Django上测试发布请求,csrf_token

热门标签

归档