login component

This commit is contained in:
Max Peintner
2023-06-27 13:44:11 +02:00
parent 7cbc4677f0
commit f334f0fb3b
2 changed files with 48 additions and 81 deletions

View File

@@ -1,5 +1,6 @@
import { getSession, server } from "#/lib/zitadel";
import Alert, { AlertType } from "#/ui/Alert";
import LoginPasskey from "#/ui/LoginPasskey";
import RegisterPasskey from "#/ui/RegisterPasskey";
import UserAvatar from "#/ui/UserAvatar";
import { getMostRecentCookieWithLoginname } from "#/utils/cookies";
@@ -50,9 +51,7 @@ export default async function Page({
</div>
)}
{sessionFactors?.id && (
<LoginPasskey sessionId={sessionFactors.id} isPrompt={!!prompt} />
)}
{sessionFactors?.id && <LoginPasskey sessionId={sessionFactors.id} />}
</div>
);
}

View File

@@ -56,37 +56,6 @@ export default function LoginPasskey({ sessionId }: Props) {
}
function submitLoginAndContinue(value: Inputs): Promise<boolean | void> {
return submitLogin().then((resp: LoginPasskeyResponse) => {
const passkeyId = resp.passkeyId;
if (
resp.publicKeyCredentialCreationOptions &&
resp.publicKeyCredentialCreationOptions.publicKey
) {
resp.publicKeyCredentialCreationOptions.publicKey.challenge =
coerceToArrayBuffer(
resp.publicKeyCredentialCreationOptions.publicKey.challenge,
"challenge"
);
resp.publicKeyCredentialCreationOptions.publicKey.user.id =
coerceToArrayBuffer(
resp.publicKeyCredentialCreationOptions.publicKey.user.id,
"challenge"
);
if (
resp.publicKeyCredentialCreationOptions.publicKey.excludeCredentials
) {
resp.publicKeyCredentialCreationOptions.publicKey.excludeCredentials.map(
(cred: any) => {
cred.id = coerceToArrayBuffer(
cred.id as string,
"excludeCredentials.id"
);
return cred;
}
);
}
navigator.credentials
.get({
publicKey: resp.publicKeyCredentialCreationOptions,
@@ -120,7 +89,7 @@ export default function LoginPasskey({ sessionId }: Props) {
},
});
return submitVerify(passkeyId, "", data, sessionId);
return submitLogin(passkeyId, "", data, sessionId);
} else {
setLoading(false);
setError("An error on retrieving passkey");
@@ -136,7 +105,6 @@ export default function LoginPasskey({ sessionId }: Props) {
});
}
// return router.push(`/accounts`);
});
}
const { errors } = formState;
@@ -174,7 +142,7 @@ export default function LoginPasskey({ sessionId }: Props) {
className="self-end"
variant={ButtonVariants.Primary}
disabled={loading || !formState.isValid}
onClick={handleSubmit(submitRegisterAndContinue)}
onClick={handleSubmit(submitLoginAndContinue)}
>
{loading && <Spinner className="h-5 w-5 mr-2" />}
continue