mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Update console for new MFA methods
This commit is contained in:
Generated
+4
-4
@@ -6,7 +6,7 @@
|
||||
"": {
|
||||
"name": "@appwrite/console",
|
||||
"dependencies": {
|
||||
"@appwrite.io/console": "^0.6.0-rc.14",
|
||||
"@appwrite.io/console": "^0.6.0-rc.17",
|
||||
"@appwrite.io/pink": "0.4.0",
|
||||
"@appwrite.io/pink-icons": "0.4.0",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
@@ -158,9 +158,9 @@
|
||||
"integrity": "sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg=="
|
||||
},
|
||||
"node_modules/@appwrite.io/console": {
|
||||
"version": "0.6.0-rc.14",
|
||||
"resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.6.0-rc.14.tgz",
|
||||
"integrity": "sha512-7Od0RuGRF01YUCWGTAvlTvgUG7sUCVHG9ig11OKz9jjBxE91BVcWsmqGWiXw+xb4HhF2jiyHd9ZU3sKAo0IC3w==",
|
||||
"version": "0.6.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@appwrite.io/console/-/console-0.6.0-rc.17.tgz",
|
||||
"integrity": "sha512-QCUMpvQIt9NseNHlVNFk8wuTro0i6UXeGxO9nuXtIOC9oC20vi5tdiFz1ImjYS2SVtlB0PJRGf58Q/p2WPoR1g==",
|
||||
"dependencies": {
|
||||
"cross-fetch": "3.1.5",
|
||||
"isomorphic-form-data": "2.0.0"
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
"e2e": "playwright test tests/e2e"
|
||||
},
|
||||
"dependencies": {
|
||||
"@appwrite.io/console": "^0.6.0-rc.14",
|
||||
"@appwrite.io/console": "^0.6.0-rc.17",
|
||||
"@appwrite.io/pink": "0.4.0",
|
||||
"@appwrite.io/pink-icons": "0.4.0",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
|
||||
@@ -8,7 +8,7 @@ export const load: LayoutLoad = async ({ depends }) => {
|
||||
depends(Dependencies.FACTORS);
|
||||
|
||||
return {
|
||||
factors: await sdk.forConsole.account.listFactors(),
|
||||
factors: await sdk.forConsole.account.listMfaFactors(),
|
||||
header: Header,
|
||||
breadcrumbs: Breadcrumbs
|
||||
};
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
async function deleteProvider() {
|
||||
try {
|
||||
await sdk.forConsole.account.deleteAuthenticator(AuthenticatorType.Totp, code);
|
||||
await sdk.forConsole.account.deleteMfaAuthenticator(AuthenticatorType.Totp, code);
|
||||
await invalidate(Dependencies.ACCOUNT);
|
||||
await invalidate(Dependencies.FACTORS);
|
||||
showDelete = false;
|
||||
|
||||
@@ -16,15 +16,17 @@
|
||||
let copyParent: HTMLElement;
|
||||
let code: string;
|
||||
let type: Models.MfaType = null;
|
||||
let codes: Models.MfaRecoveryCodes = null;
|
||||
async function addAuthenticator(): Promise<URL> {
|
||||
type = await sdk.forConsole.account.addAuthenticator(AuthenticatorType.Totp);
|
||||
type = await sdk.forConsole.account.createMfaAuthenticator(AuthenticatorType.Totp);
|
||||
|
||||
return sdk.forConsole.avatars.getQR(type.uri, 192 * 2);
|
||||
}
|
||||
|
||||
async function verifyAuthenticator() {
|
||||
try {
|
||||
await sdk.forConsole.account.verifyAuthenticator(AuthenticatorType.Totp, code);
|
||||
await sdk.forConsole.account.updateMfaAuthenticator(AuthenticatorType.Totp, code);
|
||||
codes = await sdk.forConsole.account.createMfaRecoveryCodes();
|
||||
await invalidate(Dependencies.ACCOUNT);
|
||||
await invalidate(Dependencies.FACTORS);
|
||||
showSetup = false;
|
||||
@@ -103,8 +105,8 @@
|
||||
description="Learn more about multi-factor authentication in our documentation."
|
||||
bind:show={showRecoveryCodes}
|
||||
onSubmit={verifyAuthenticator}>
|
||||
{#if type}
|
||||
{@const formattedBackupCodes = type.backups.join('\n')}
|
||||
{#if type && codes}
|
||||
{@const formattedBackupCodes = codes.recoveryCodes.join('\n')}
|
||||
<Alert type="info">
|
||||
<span slot="title">
|
||||
It is highly recommended to securely store your recovery codes
|
||||
@@ -140,7 +142,7 @@
|
||||
</div>
|
||||
<Table noMargin noStyles>
|
||||
<TableBody>
|
||||
{#each type.backups as code}
|
||||
{#each codes.recoveryCodes as code}
|
||||
<TableRow>
|
||||
<TableCell title="code">
|
||||
<Output value={code} hideCopyIcon>{code}</Output>
|
||||
|
||||
@@ -13,7 +13,7 @@ export const load: LayoutLoad = async ({ params, depends }) => {
|
||||
header: Header,
|
||||
breadcrumbs: Breadcrumbs,
|
||||
user: await sdk.forProject.users.get(params.user),
|
||||
userFactors: await sdk.forProject.users.listFactors(params.user)
|
||||
userFactors: await sdk.forProject.users.listMfaFactors(params.user)
|
||||
};
|
||||
} catch (e) {
|
||||
error(e.code, e.message);
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
async function deleteProvider() {
|
||||
try {
|
||||
await sdk.forConsole.users.deleteAuthenticator($user.$id, AuthenticatorType.Totp);
|
||||
await sdk.forConsole.users.deleteMfaAuthenticator($user.$id, AuthenticatorType.Totp);
|
||||
await invalidate(Dependencies.ACCOUNT);
|
||||
await invalidate(Dependencies.FACTORS);
|
||||
showDelete = false;
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
async function verify() {
|
||||
try {
|
||||
disabled = true;
|
||||
const challenge = await sdk.forConsole.account.createChallenge(
|
||||
const challenge = await sdk.forConsole.account.createMfaChallenge(
|
||||
AuthenticationFactor.Totp
|
||||
);
|
||||
await sdk.forConsole.account.updateChallenge(challenge.$id, code);
|
||||
await sdk.forConsole.account.updateMfaChallenge(challenge.$id, code);
|
||||
await invalidate(Dependencies.ACCOUNT);
|
||||
trackEvent(Submit.AccountCreate);
|
||||
if ($page.url.searchParams) {
|
||||
@@ -61,14 +61,4 @@
|
||||
</FormList>
|
||||
</Form>
|
||||
</svelte:fragment>
|
||||
<svelte:fragment slot="links">
|
||||
<li class="inline-links-item">
|
||||
<a href={`${base}/recover`}><span class="text">Forgot Password?</span></a>
|
||||
</li>
|
||||
<li class="inline-links-item">
|
||||
<a href={`${base}/register${$page?.url?.search ?? ''}`}>
|
||||
<span class="text">Sign Up</span>
|
||||
</a>
|
||||
</li>
|
||||
</svelte:fragment>
|
||||
</Unauthenticated>
|
||||
|
||||
Reference in New Issue
Block a user