Abdulmoiz Ahmer
Abdulmoiz Ahmer

Reputation: 2341

How can i access the cookie sent as a response from express in react js?

I am using mern stack to make an application. For authentication i am using toke auth with passport authentication and for security reasons i am sending token in cookie. I have a login call which returns a cookie with response. The snippet is below:

    res.cookie("cookie_token", token, { maxAge: 84600 });
    res.send({
        status: "success"
    });

I can see the cookie in postman and even in browser in network(xhr request).

enter image description here

enter image description here

I am using axios for making call to the login api in react js.

 axios.get(myapiurl, {
        headers: {
          email: fields.email,
          password: fields.password,
          "access-control-allow-origin": "*"
        }
      })
        .then(res => {
            console.log(res);
        }).catch((err) => {
          console.log(err);
        });

Though i can't find a snippet to access the cookie in react js. How can i parse it? I can't see cookie in response of axios though? How can i access it.

Upvotes: 0

Views: 201

Answers (1)

gautamits
gautamits

Reputation: 1292

Please try this. Snippet from mdn.

function getCookie(sKey) {
  if (!sKey) { return null; }
  return document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + sKey.replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1") || null;
}

export function getLoginInfo() {
  const cookieToken = getCookie('cookie_token')
   console.log(cookieToken)
}

Upvotes: 1

Related Questions