// Verify recovery token
const { error: recoveryError } = await client.auth.verifyOtp({
email: bodyPayload.email,
token: bodyPayload.code,
type: "recovery",
});
if (recoveryError) {
return NextResponse.json(
{ message: `Failed to verify recovery token: ${recoveryError.message}` },
{ status: 500 },
);
}
// Change password
const { error: updateError } = await client.auth.updateUser({
password: bodyPayload.password,
});
if (updateError) {
return NextResponse.json(
{ message: `Failed to change password: ${updateError.message}` },
{ status: 500 },
);
}
// Verify recovery token
const { error: recoveryError } = await client.auth.verifyOtp({
email: bodyPayload.email,
token: bodyPayload.code,
type: "recovery",
});
if (recoveryError) {
return NextResponse.json(
{ message: `Failed to verify recovery token: ${recoveryError.message}` },
{ status: 500 },
);
}
// Change password
const { error: updateError } = await client.auth.updateUser({
password: bodyPayload.password,
});
if (updateError) {
return NextResponse.json(
{ message: `Failed to change password: ${updateError.message}` },
{ status: 500 },
);
}