|
335 | 335 | let debounceTimeout;
|
336 | 336 | jwtInput.on('input', function() {
|
337 | 337 | clearTimeout(debounceTimeout);
|
338 |
| - debounceTimeout = setTimeout(async () => await parseJwt.call(this), 300); // 300ms debounce |
| 338 | + debounceTimeout = setTimeout(async () => await parseJwt.call(this), 100); // 100ms debounce |
339 | 339 | });
|
340 | 340 |
|
341 | 341 | @if (Model.View?.Token != null)
|
|
373 | 373 | encodedPayload: payloadInfo.length > 1 ? payloadInfo[1] : '',
|
374 | 374 | signature: signature
|
375 | 375 | };
|
376 |
| - |
377 |
| - await showDecodedJwt(decodedJwt.header, decodedJwt.payload, decodedJwt.encodedHeader, decodedJwt.encodedPayload, signature); |
| 376 | +
|
378 | 377 | colorJwtInput($(this), parts, decodedJwt.encodedHeader, decodedJwt.encodedPayload, decodedJwt.signature);
|
379 |
| - |
| 378 | + await showDecodedJwt(decodedJwt.header, decodedJwt.payload, decodedJwt.encodedHeader, decodedJwt.encodedPayload, signature); |
| 379 | + |
380 | 380 | if (parts.length !== 3) {
|
381 | 381 | showError('Invalid JWT format. A JWT should have three parts separated by dots.');
|
382 | 382 | }
|
|
456 | 456 | }
|
457 | 457 | }
|
458 | 458 | }
|
| 459 | + else if (originalParts.length > 1) { |
| 460 | + html += `<span class="skipped">${originalParts[0]}</span>`; |
| 461 | + } |
| 462 | +
|
| 463 | + html += '<span class="jwt-divider">.</span>'; |
| 464 | + |
459 | 465 | if (encodedPayload) {
|
460 | 466 | const originalPayload = originalParts[1];
|
461 | 467 | if (originalPayload === encodedPayload) {
|
462 |
| - html += '<span class="jwt-divider">.</span>' + `<span class="text-success">${encodedPayload}</span>`; |
| 468 | + html += `<span class="text-success">${encodedPayload}</span>`; |
463 | 469 | }
|
464 | 470 | else {
|
465 | 471 | // Show the additional characters before and after the "encodedPayload" part that are found in originalPayload
|
|
468 | 474 | if (start > 0) {
|
469 | 475 | html += `<span class="skipped">${originalPayload.substring(0, start)}</span>`;
|
470 | 476 | }
|
471 |
| - html += '<span class="jwt-divider">.</span>' + `<span class="text-success">${encodedPayload}</span>`; |
| 477 | + html += `<span class="text-success">${encodedPayload}</span>`; |
472 | 478 | if (end < originalPayload.length) {
|
473 | 479 | html += `<span class="skipped">${originalPayload.substring(end)}</span>`;
|
474 | 480 | }
|
475 | 481 | }
|
476 | 482 | }
|
| 483 | + else if (originalParts.length > 2) { |
| 484 | + html += `<span class="skipped">${originalParts[1]}</span>`; |
| 485 | + } |
| 486 | +
|
| 487 | + html += '<span class="jwt-divider">.</span>'; |
| 488 | + |
477 | 489 | if (signature) {
|
478 |
| - html += '<span class="jwt-divider">.</span>' + `<span class="text-warning">${signature}</span>`; |
| 490 | + html += `<span class="text-warning">${signature}</span>`; |
479 | 491 | }
|
480 | 492 | target.html(html);
|
481 | 493 | }
|
|
0 commit comments