JavaScript code that generates a passcode by encoding the Base64 of existing parameters from the URL and timestamp. Then, load the URL by adding this generated passcode as an additional parameter using the debug console.

const getParameterByName = (name, url) => {
  try {
    if (!url)
      url = window.location.href;
    name = name.replace(/[[]]/g, "$&");
    let regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
      results = regex
        .exec(url);
    if (!results)
      return null;
    if (!results[2])
      return ' ';
    return decodeURIComponent(results[2].replace(/+/g, " "));
  } catch (e) {
    console.error("Err@ FN getParameterByName", e);
  }
}
//routeId and soId are existing parameters
let routeId = getParameterByName("routeId");
let soId = getParameterByName("soId");
const timestamp = Date.now();
const plaintext = `${soId}-${routeId}-${timestamp}`;
// Base64 encode the plaintext
const passCode = window.btoa(plaintext)
const urlParams = new URLSearchParams(window.location.search);
urlParams.set('passCode', encodeURIComponent(passCode));
window.location.search = urlParams;

Leave a comment

Your email address will not be published. Required fields are marked *