trimble-connect-sdk
Version:
Trimble Connect SDK for JavaScript
21 lines • 4.17 kB
JavaScript
import atob from 'atob';
export function parseJwt(token) {
function decodeBase64(base64) {
base64 = base64.replace(/-/g, '+').replace(/_/g, '/');
switch (base64.length % 4) {
case 0:
break;
case 2:
base64 += '==';
break;
case 3:
base64 += '=';
break;
default:
throw new Error('Invalid token encoding.');
}
return atob(base64);
}
return JSON.parse(decodeBase64(token.split('.')[1]));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJqd3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBbUR4QixNQUFNLFVBQVUsUUFBUSxDQUN0QixLQUFhO0lBRWIsU0FBUyxZQUFZLENBQUMsTUFBYztRQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0RCxRQUFRLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLEtBQUssQ0FBQztnQkFDSixNQUFNO1lBRVIsS0FBSyxDQUFDO2dCQUNKLE1BQU0sSUFBSSxJQUFJLENBQUM7Z0JBQ2YsTUFBTTtZQUVSLEtBQUssQ0FBQztnQkFDSixNQUFNLElBQUksR0FBRyxDQUFDO2dCQUNkLE1BQU07WUFFUjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGF0b2IgZnJvbSAnYXRvYic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpdHlUb2tlbiBleHRlbmRzIEpzb25XZWJUb2tlbiB7XG4gIGF6cDogc3RyaW5nO1xuICBhdF9oYXNoOiBzdHJpbmc7XG4gIGF1dGhfdGltZTogbnVtYmVyO1xuICAnaHR0cDovL3dzbzIub3JnL2NsYWltcy9hY2NvdW50bmFtZSc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvZmlyc3RuYW1lJzogc3RyaW5nO1xuICAnaHR0cDovL3dzbzIub3JnL2NsYWltcy9wYXNzd29yZFBvbGljeSc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvdXNlckNyZWF0ZVRpbWVTdGFtcCc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvbGFzdG5hbWUnOiBzdHJpbmc7XG4gICdodHRwOi8vd3NvMi5vcmcvY2xhaW1zL3V1aWQnOiBzdHJpbmc7XG4gICdodHRwOi8vd3NvMi5vcmcvY2xhaW1zL2dpdmVubmFtZSc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvZW1haWxWZXJpZmllZCc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvaWRlbnRpdHkvZmFpbGVkTG9naW5BdHRlbXB0cyc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvaWRlbnRpdHkvYWNjb3VudExvY2tlZCc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvbGFzdExvZ2luVGltZVN0YW1wJzogc3RyaW5nO1xuICAnaHR0cDovL3dzbzIub3JnL2NsYWltcy9zdGF0dXMnOiBzdHJpbmc7XG4gICdodHRwOi8vd3NvMi5vcmcvY2xhaW1zL2xhc3RQd2RTZXRUaW1lU3RhbXAnOiBzdHJpbmc7XG4gICdodHRwOi8vd3NvMi5vcmcvY2xhaW1zL2VtYWlsYWRkcmVzcyc6IHN0cmluZztcbiAgJ2h0dHA6Ly93c28yLm9yZy9jbGFpbXMvYWNjb3VudHVzZXJuYW1lJzogc3RyaW5nO1xufVxuXG4vKiogSlNPTiB3ZWIgdG9rZW4gY2xhaW1zICovXG5leHBvcnQgaW50ZXJmYWNlIEpzb25XZWJUb2tlbiB7XG4gIC8qKiBJc3N1ZXIgKi9cbiAgaXNzPzogc3RyaW5nO1xuXG4gIC8qKiBTdWJqZWN0ICovXG4gIHN1Yj86IHN0cmluZztcblxuICAvKiogQXVkaWVuY2UgKi9cbiAgYXVkPzogc3RyaW5nW107XG5cbiAgLyoqIEV4cGlyYXRpb24gdGltZSAoVVRDIHRpbWVzdGFtcCkgKi9cbiAgZXhwPzogbnVtYmVyO1xuXG4gIC8qKiBOb3QgYmVmb3JlIChVVEMgdGltZXN0YW1wKSAqL1xuICBuYmY/OiBudW1iZXI7XG5cbiAgLyoqIElzc3VlZCBhdCAoVVRDIHRpbWVzdGFtcCkgKi9cbiAgaWF0PzogbnVtYmVyO1xuXG4gIC8qKiBUb2tlbiBpZGVudGlmaWVyICovXG4gIGp0aT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjbGFpbXMgZnJvbSBhIEpTT04gV2ViIFRva2VuIHdpdGhvdXQgdmVyaWZpY2F0aW9uLlxuICogQHBhcmFtIHRva2VuIFRoZSB0b2tlbiB0byBwYXJzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSnd0PFQgZXh0ZW5kcyBKc29uV2ViVG9rZW4gPSBKc29uV2ViVG9rZW4+KFxuICB0b2tlbjogc3RyaW5nXG4pOiBUIHtcbiAgZnVuY3Rpb24gZGVjb2RlQmFzZTY0KGJhc2U2NDogc3RyaW5nKSB7XG4gICAgYmFzZTY0ID0gYmFzZTY0LnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJyk7XG5cbiAgICBzd2l0Y2ggKGJhc2U2NC5sZW5ndGggJSA0KSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDI6XG4gICAgICAgIGJhc2U2NCArPSAnPT0nO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAzOlxuICAgICAgICBiYXNlNjQgKz0gJz0nO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRva2VuIGVuY29kaW5nLicpO1xuICAgIH1cblxuICAgIHJldHVybiBhdG9iKGJhc2U2NCk7XG4gIH1cblxuICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVCYXNlNjQodG9rZW4uc3BsaXQoJy4nKVsxXSkpO1xufVxuIl19