Search code examples
javascriptreactjsgetaxioscsrf-token

react.js / axios - How to store csrf token in cookies


I'm doing a project for my class and we're required to make a secure login feature..something I haven't done before.. I'm trying to store the csrfToken in a header so it shows up as my session token in cookies but I'm not sure I'm doing it right.If anyone could help, I'd be very grateful. I know this is probably an easy fix but I've looked everywhere and haven't got it yet.

getToken = () => {

    axios({
        method: 'get',
        url: '/csrf',
        timeout: 1000,
        headers: 'csrf-token'
    }).then(csrfToken => {
        console.log(csrfToken);
        this.setState({ accessGranted: true })
    }).catch(err => console.log(err));
}

I'm getting a response in the console but it's not storing it in the cookies.


Solution

  • You can use react-cookies:

    import cookie from 'react-cookies'
    

    and save your cookie like this:

    cookie.save('csrftoken', csrfToken);
    

    Then you can use it whenever you want.