简体   繁体   中英

JWT expired with fetch javascript

What is the best way with pure javascript fetch function to check if JWT has expired that is being passed in authorization header before making a request to get data?

const headers = new Headers({
    'Content-Type': 'application/json',
    Authorization: 'Bearer GrabbedFromParamQueryString'
});

const settings = {
    method: 'GET',
    headers: headers
};

fetch('/info/user, settings).then(response => {
    console.log(response.json());
});

I know in jQuery you can do a precheck if it has expired then generate a new token then continue with the original request. Is there something like that with Javascript fetch if so how?

Any help would be appreciated.

I was able to achieve this by checking the status of the response which gave me the answer if it was expired or not. Once I had that information created a handled error function and do the next set of action to grab the new refresh and token id.

try

       console.log(response.json());
       if(response.msg=== "Token is expired"){
           alert('token is already expired, login again')
          }
});

Atleast thats what I do for jwt extended tokens , because they generate such a response. so in your case, If you used some other naming type like "message" please go ahead and use it to loop through your response. I hope its been of help.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM