Please, I need help creating a session in this route so that my app can redirect to the dashboard after a successful verification confirmation process. Code below
``
import { type NextRequest, NextResponse } from "next/server"; import { createUserEmailVerificationConfirmation } from "@/lib/actions/user.actions"; import { cookies } from "next/headers";
// Creating a handler to a GET request to route /auth/verify-email export async function GET(request: NextRequest) { const { searchParams } = new URL(request.url); const userId = searchParams.get("userId"); const secret = searchParams.get("secret"); const next = "/dashboard";
// Create redirect link without the secret token const redirectTo = request.nextUrl.clone(); redirectTo.pathname = next; redirectTo.searchParams.delete("userId"); redirectTo.searchParams.delete("secret");
if (userId && secret) { const response = await createUserEmailVerificationConfirmation({ userId, secret, });
console.log(response, "see response");
if (response) {
redirectTo.searchParams.delete("next");
// Create a NextResponse object for setting cookies
const redirectResponse = NextResponse.redirect(redirectTo);
//Intended to create a session here
redirectResponse.cookies.set("session", `session value here`, {
path: "/",
httpOnly: true,
sameSite: "strict",
secure: true,
});
return redirectResponse;
}
}
// return the user to an error page with some instructions redirectTo.pathname = "/error"; return NextResponse.redirect(redirectTo); }
``
After signing up, a verification link is sent, which works fine; it takes the user to the route above. However, I need a session to redirect to the protected dashboard. What is the appropriate flow to handle this as I don't have the email or password in this route?
Recommended threads
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...