JSFiddle - React, Tailwind, and code Playground
Solution for Expiry issue we faced yesterday May 31, 2017 around 8:00 pm
by Nalin Sajwan
JavaScript
// Example date of fiddle -> https://jsfiddle.net/NalinS/njoj4m20/
// var currentDate = new Date("Wed May 31 2017 19:59:06 GMT+0530");
// Possible login scenario date. 1 hour and 1 second left in license login expiry.
var currentDate = new Date("2017-12-31T13:12:49.585+0000");
// Copy of currentDate.
var expiryDate = new Date(currentDate);
// License login expiry date.
var licenseExpiry = new Date("2017-12-31T14:12:50.585+0000");
// Expiry time assigned per token.
var tokenExpiryLimit = 120; // In Minutes
console.log("\ncurrentDate ==> ", currentDate.toString());
console.log("currentDate iso ==> ", currentDate.toISOString());
console.log("\nexpiryDate ==> ", expiryDate.toString());
console.log("expiryDate iso ==> ", expiryDate.toISOString());
console.log("\nlicenseExpiry ==> ", licenseExpiry.toString());
console.log("licenseExpiry iso ==> ", licenseExpiry.toISOString());
var possibleExpiryDate = new Date( expiryDate.setMinutes(currentDate.getMinutes() + tokenExpiryLimit) );
console.log("\npossibleExpiryDate ==> ", possibleExpiryDate.toString());
console.log("possibleExpiryDate iso ==> ", possibleExpiryDate.toISOString());
var expiryToBeExceeded = false;
if (currentDate >= licenseExpiry) {
console.log("\nLogin has expired already");
tokenExpiryLimit = 0;
} else if (possibleExpiryDate > licenseExpiry) {
console.log("\nLogin will expire before token expiry");
expiryToBeExceeded = true;
} else {
console.log("\nLogin will not expire before token expiry, Do nothing");
}
console.log("\nexpiryToBeExceeded ==> ", expiryToBeExceeded);
if(expiryToBeExceeded) {
expiryDate = new Date(licenseExpiry);
} else {
expiryDate.setMinutes(currentDate.getMinutes() + tokenExpiryLimit);
}
console.log("\n\n[Final] currentDate ==> ", currentDate.toString());
console.log("\n[Final] licenseExpiry ==> ", licenseExpiry.toString());
console.log("\n[Final] expiryDate ==> ", expiryDate.toString());