Browse Source

add password change form.

master
Gisle Aune 2 years ago
parent
commit
16ec7b9bb5
  1. 40
      frontend/src/routes/login.svelte

40
frontend/src/routes/login.svelte

@ -6,17 +6,42 @@
let username = '';
let password = '';
let newPassword = '';
let newPassword2 = '';
let error: string;
let loading = false;
let changeMode = false;
let changeUser = null;
async function handleSignIn() {
error = void(0);
loading = true;
if (newPassword !== newPassword2) {
error = "The two passwords do not match, please re-enter."
return
}
try {
const res = await Auth.signIn(username, password);
if (changeMode) {
const res = await Auth.completeNewPassword(changeUser, newPassword)
console.log(res);
changeMode = false;
password = "";
} else {
const res = await Auth.signIn(username, password);
console.log(res);
if (res.challengeName == "NEW_PASSWORD_REQUIRED") {
newPassword = "";
newPassword2 = "";
changeMode = true
changeUser = res
}
goto('/', {replaceState: true});
goto('/', {replaceState: true});
}
} catch (err) {
error = err?.toString() || err;
}
@ -30,8 +55,15 @@
<ModalBody>
<label for="name">Username</label>
<input type="text" bind:value={username} />
<label for="name">Password</label>
<input type="password" bind:value={password} />
{#if changeMode}
<label for="name">New Password</label>
<input type="password" bind:value={newPassword} />
<label for="name">Confirm New Password</label>
<input type="password" bind:value={newPassword2} />
{:else}
<label for="name">Password</label>
<input type="password" bind:value={password} />
{/if}
</ModalBody>
</Modal>
</form>
Loading…
Cancel
Save