fix Generate JWT as user doesn't work #327

This commit is contained in:
Christoph Kluge 2025-01-30 11:10:50 +01:00
parent 5266644725
commit 95d8062b00

View File

@ -43,10 +43,33 @@
} }
} }
let displayCheck = false;
function clipJwt() { function clipJwt() {
navigator.clipboard displayCheck = true;
.writeText(jwt) // Navigator clipboard api needs a secure context (https)
.catch((reason) => console.error(reason)); if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard
.writeText(jwt)
.catch((reason) => console.error(reason));
} else {
// Workaround: Create, Fill, And Copy Content of Textarea
const textArea = document.createElement("textarea");
textArea.value = jwt;
textArea.style.position = "absolute";
textArea.style.left = "-999999px";
document.body.prepend(textArea);
textArea.select();
try {
document.execCommand('copy');
} catch (error) {
console.error(error);
} finally {
textArea.remove();
}
}
setTimeout(function () {
displayCheck = false;
}, 1000);
} }
const dispatch = createEventDispatcher(); const dispatch = createEventDispatcher();
@ -120,6 +143,11 @@
<p class="mt-2"> <p class="mt-2">
Your token is displayed on the right. Press this button to copy it to the clipboard. Your token is displayed on the right. Press this button to copy it to the clipboard.
</p> </p>
{#if displayCheck}
<p class="mt-2">
<span class="text-success">Copied!</span>
</p>
{/if}
{:else} {:else}
<Button color="success" on:click={getUserJwt(username)}> <Button color="success" on:click={getUserJwt(username)}>
Generate JWT for '{username}' Generate JWT for '{username}'