Accessing Session in nextjs middleware for next-auth
Unanswered
Black-crowned Night-Heron posted this in #help-forum
Black-crowned Night-HeronOP
Hello, I need to access the session to extract which user is using the api in the nextauth middleware, this is vital to the use of my app and I do not want to have to invoke a function manually on every route as there is a lot of them, Here is my middleware code so far,
/middleware.ts
here are the error messages:
sessionAttempt1:
https://paste.rs/mJwsj.txt
and the sessionAttempt1 object logs "null"
sessionAttempt2:
I cannot think of how to extract this session, That is the last part of my app, Any help is thoroughly appreciated.
as well as this, Using either of these session retrieval functions in an api route works absolutely fine, How annoying
/middleware.ts
import { PrismaClient } from "@prisma/client";
import { getServerSession } from "next-auth";
import { getSession } from "next-auth/react";
import { NextResponse } from "next/server";
import { NextRequest } from "next/server";
import { authOptions } from "./app/api/auth/[...nextauth]/route";
const prisma = new PrismaClient();
export async function middleware(req: NextRequest) {
const sessionAttempt1 = await getSession({ req }); // returns null
const sessionAttempt2 = await getServerSession(authOptions); // throws error
return NextResponse.next();
}
export const config = {
matcher: "/api/users/:path*",
};here are the error messages:
sessionAttempt1:
https://paste.rs/mJwsj.txt
and the sessionAttempt1 object logs "null"
sessionAttempt2:
⨯ node_modules/oidc-token-hash/lib/shake256.js (3:0) @ <unknown>
⨯ Cannot read properties of undefined (reading 'substring')
nullI cannot think of how to extract this session, That is the last part of my app, Any help is thoroughly appreciated.
as well as this, Using either of these session retrieval functions in an api route works absolutely fine, How annoying
1 Reply
Black-crowned Night-HeronOP
New information, AuthOptions is not being imported properly, Even copying the object does not fix this though