1
0
mirror of https://github.com/ClusterCockpit/cc-backend synced 2025-05-04 17:01:43 +02:00

fix Generate JWT as user doesn't work

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

@ -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}'