diff --git a/apps/login/app/(login)/register/page.tsx b/apps/login/app/(login)/register/page.tsx
index 4690b5527eb..9cd32eb07da 100644
--- a/apps/login/app/(login)/register/page.tsx
+++ b/apps/login/app/(login)/register/page.tsx
@@ -15,15 +15,11 @@ export default async function Page({
const setPassword = !!(firstname && lastname && email);
- console.log(setPassword);
-
const legal = await getLegalAndSupportSettings(server);
const passwordComplexitySettings = await getPasswordComplexitySettings(
server
);
- console.log(legal);
-
return setPassword ? (
Set Password
diff --git a/apps/login/app/passkeys/route.ts b/apps/login/app/passkeys/route.ts
index 6991668dd5d..9bd442c73ca 100644
--- a/apps/login/app/passkeys/route.ts
+++ b/apps/login/app/passkeys/route.ts
@@ -26,13 +26,12 @@ export async function POST(request: NextRequest) {
return createPasskeyRegistrationLink(userId)
.then((resp) => {
const code = resp.code;
- console.log("code", code);
return registerPasskey(userId, code).then((resp) => {
return NextResponse.json(resp);
});
})
.catch((error) => {
- console.log("error on creating passkey registration link");
+ console.error("error on creating passkey registration link");
return NextResponse.json(error, { status: 500 });
});
} else {
diff --git a/apps/login/app/passkeys/verify/route.ts b/apps/login/app/passkeys/verify/route.ts
index bda30818fda..1346ecc637d 100644
--- a/apps/login/app/passkeys/verify/route.ts
+++ b/apps/login/app/passkeys/verify/route.ts
@@ -1,18 +1,18 @@
-import {
- createPasskeyRegistrationLink,
- getSession,
- registerPasskey,
- server,
- verifyPasskeyRegistration,
-} from "#/lib/zitadel";
+import { getSession, server, verifyPasskeyRegistration } from "#/lib/zitadel";
import { getSessionCookieById } from "#/utils/cookies";
-import { NextRequest, NextResponse } from "next/server";
+import { NextRequest, NextResponse, userAgent } from "next/server";
export async function POST(request: NextRequest) {
const body = await request.json();
if (body) {
- const { passkeyId, passkeyName, publicKeyCredential, sessionId } = body;
+ let { passkeyId, passkeyName, publicKeyCredential, sessionId } = body;
+ if (!!!passkeyName) {
+ const { browser, device, os } = userAgent(request);
+ passkeyName = `${device.vendor ?? ""} ${device.model ?? ""}${
+ device.vendor || device.model ? ", " : ""
+ }${os.name}${os.name ? ", " : ""}${browser.name}`;
+ }
const sessionCookie = await getSessionCookieById(sessionId);
const session = await getSession(
@@ -32,11 +32,9 @@ export async function POST(request: NextRequest) {
userId
)
.then((resp) => {
- console.log("verifyresponse", resp);
return NextResponse.json(resp);
})
.catch((error) => {
- console.log("error on verifying passkey");
return NextResponse.json(error, { status: 500 });
});
} else {
diff --git a/apps/login/lib/zitadel.ts b/apps/login/lib/zitadel.ts
index c771f8f2968..5ba226d80d4 100644
--- a/apps/login/lib/zitadel.ts
+++ b/apps/login/lib/zitadel.ts
@@ -254,7 +254,6 @@ export async function verifyPasskeyRegistration(
userId: string
): Promise
{
const userservice = user.getUser(server);
- console.log(passkeyId, passkeyName, publicKeyCredential, userId);
return userservice.verifyPasskeyRegistration(
{
passkeyId,
@@ -276,20 +275,10 @@ export async function registerPasskey(
userId: string,
code: { id: string; code: string }
): Promise {
- // this actions will be made from the currently seleected user
- const zitadelConfig: ZitadelServerOptions = {
- name: "zitadel login",
- apiUrl: process.env.ZITADEL_API_URL ?? "",
- token: "",
- };
-
- const authserver: ZitadelServer = initializeServer(zitadelConfig);
- console.log("server", authserver);
const userservice = user.getUser(server);
return userservice.registerPasskey({
userId,
code,
- // returnCode: new ReturnPasskeyRegistrationCode(),
});
}
diff --git a/apps/login/ui/PasswordForm.tsx b/apps/login/ui/PasswordForm.tsx
index f28ce0772a1..eb432769034 100644
--- a/apps/login/ui/PasswordForm.tsx
+++ b/apps/login/ui/PasswordForm.tsx
@@ -52,7 +52,14 @@ export default function PasswordForm({ loginName }: Props) {
function submitPasswordAndContinue(value: Inputs): Promise {
return submitPassword(value).then((resp: any) => {
- return router.push(`/accounts`);
+ if (resp.factors && !resp.factors.passwordless) {
+ return router.push(
+ `/passkey/add?` +
+ new URLSearchParams({ loginName: resp.factors.user.loginName })
+ );
+ } else {
+ return router.push(`/accounts`);
+ }
});
}
diff --git a/apps/login/ui/RegisterPasskey.tsx b/apps/login/ui/RegisterPasskey.tsx
index a2f95d82dba..efff2594d22 100644
--- a/apps/login/ui/RegisterPasskey.tsx
+++ b/apps/login/ui/RegisterPasskey.tsx
@@ -26,8 +26,6 @@ export default function RegisterPasskey({ sessionId }: Props) {
const router = useRouter();
async function submitRegister() {
- // const link = await createPasskeyRegistrationLink(server, userId);
- // console.log(link);
setError("");
setLoading(true);
const res = await fetch("/passkeys", {
@@ -83,7 +81,7 @@ export default function RegisterPasskey({ sessionId }: Props) {
function submitRegisterAndContinue(value: Inputs): Promise {
return submitRegister().then((resp: RegisterPasskeyResponse) => {
const passkeyId = resp.passkeyId;
- console.log("passkeyId", passkeyId);
+
if (
resp.publicKeyCredentialCreationOptions &&
resp.publicKeyCredentialCreationOptions.publicKey
@@ -131,7 +129,6 @@ export default function RegisterPasskey({ sessionId }: Props) {
id: resp.id,
rawId: coerceToBase64Url(rawId, "rawId"),
type: resp.type,
- // response: (resp as any).response,
response: {
attestationObject: coerceToBase64Url(
attestationObject,
@@ -145,7 +142,7 @@ export default function RegisterPasskey({ sessionId }: Props) {
};
console.log(data);
- return submitVerify(passkeyId, "name", data, sessionId);
+ return submitVerify(passkeyId, "", data, sessionId);
} else {
setLoading(false);
setError("An error on registering passkey");