首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >api\login 500 error laravel/react login

api\login 500 error laravel/react login
EN

Stack Overflow用户
提问于 2018-08-21 02:59:09
回答 1查看 500关注 0票数 0

laravel/react之间的身份验证问题,当fetch get时,所有工作:

api.php

Route::group([‘中间件’=> 'web'],function () {

Route::post('login','Auth\LoginController@login');

});

login.js

代码语言:javascript
复制
   getCookie(name) {
if (!document.cookie) {
  return null;
}

const xsrfCookies = document.cookie.split(';')
  .map(c => c.trim())
  .filter(c => c.startsWith(name + '='));

if (xsrfCookies.length === 0) {
  return null;
}

return decodeURIComponent(xsrfCookies[0].split('=')[1]);
  }
   const csrfToken = this.getCookie('CSRF-TOKEN');
   const headers = new Headers({
     'Content-Type': 'application/json',
     'X-XSRF-TOKEN': csrfToken
   });

   fetch('api/login',
     {
       method: 'POST',
       headers,
       body: JSON.stringify( this.state )
     })
      .then(response=> {
        console.log(response);
        this.setState({err: false});
        this.props.history.push('/') ;

      })
      .catch(error=> {
        console.log(error);
        this.refs.email.value='';
        this.refs.password.value='';
        this.setState({err: true});
      });

控制台中的内容:

邮递员中有什么:

EN

回答 1

Stack Overflow用户

发布于 2018-08-21 04:43:08

错误419表示CSRF/XSRF令牌未正确包含在请求中。

CSRFXSRF标记不同,因此不能互换使用。您可以将CSRF作为请求正文/a参数的一部分包含在内,也可以将XSRF作为标头包含在内。

您应该能够通过更改以下内容来使代码正常工作:

代码语言:javascript
复制
const csrfToken = this.getCookie('CSRF-TOKEN');
const headers = new Headers({
  'Content-Type': 'application/json',
  'X-XSRF-TOKEN': csrfToken
});

代码语言:javascript
复制
const xsrfToken = this.getCookie('XSRF-TOKEN');
const headers = new Headers({
  'Content-Type': 'application/json',
  'X-XSRF-TOKEN': xsrfToken
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51936967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档