Next.js Discord

Discord Forum

[next-auth][error][JWT_SESSION_ERROR]https://next-auth.js.org/errors#jwt_session_error decryption o

Unanswered
julian posted this in #help-forum
Open in Discord
Anyone know how to solve this?

import NextAuth from "next-auth";
import CredentialsProvider from "next-auth/providers/credentials";
import { PrismaClient } from "@prisma/client";
import bcrypt from "bcrypt";

const prisma = new PrismaClient();

const authOptions = {
  session: {
    strategy: "jwt",
  },
  pages: {
    signIn: "/login",
  },
  secret: process.env.SECRET,
  providers: [
    CredentialsProvider({
      name: "Credentials",
      credentials: {
        email: { label: "Email", type: "email", placeholder: "your@email.com" },
        password: { label: "Password", type: "password" },
      },
      authorize: async (credentials) => {
        const user = await prisma.user.findUnique({
          where: { email: credentials.email },
        });

        if (
          user &&
          (await bcrypt.compare(credentials.password, user.password))
        ) {
          return {
            id: user.id,
            email: user.email,
            name: `${user.firstName} ${user.lastName}`,
            role: user.role,
            tenantId: user.tenantId,
          };
        }
      },
    }),
  ],
  callbacks: {
    async jwt({ token, user }) {
      if (user) {
        token.id = user.id;
        token.email = user.email;
        token.role = user.role;
        token.tenantId = user.tenantId;
      }
      return token;
    },
    async session({ session, token }) {
      session.user.id = token.id;
      session.user.email = token.email;
      session.user.role = token.role;
      session.user.tenantId = token.tenantId;

      return session;
    },
  },
  jwt: {
    secret: process.env.JWT_SECRET,
    encryption: true,
  },
};

export default NextAuth(authOptions);

3 Replies

[next-auth][error][JWT_SESSION_ERROR]
https://next-auth.js.org/errors#jwt_session_error decryption operation failed {
  message: 'decryption operation failed',
  stack: 'JWEDecryptionFailed: decryption operation failed\n' +
    '    at gcmDecrypt (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\jose\\dist\\node\\cjs\\runtime\\decrypt.js:67:15)\n' +
    '    at decrypt (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\jose\\dist\\node\\cjs\\runtime\\decrypt.js:92:20)\n' +
    '    at flattenedDecrypt (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\jose\\dist\\node\\cjs\\jwe\\flattened\\decrypt.js:143:52)\n' +
    '    at async compactDecrypt (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\jose\\dist\\node\\cjs\\jwe\\compact\\decrypt.js:18:23)\n' +
    '    at async jwtDecrypt (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\jose\\dist\\node\\cjs\\jwt\\decrypt.js:8:23)\n' +
    '    at async Object.decode (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next-auth\\jwt\\index.js:66:7)\n' +
    '    at async Object.session (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next-auth\\core\\routes\\session.js:43:28)\n' +
    '    at async AuthHandler (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next-auth\\core\\index.js:165:27)\n' +
    '    at async getServerSession (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next-auth\\next\\index.js:159:19)\n' +
    '    at async handler (webpack-internal:///(api)/./pages/api/internal/position/get.js:15:21)\n' +
    '    at async K (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next\\dist\\compiled\\next-server\\pages-api.runtime.dev.js:21:2946)\n' +
    '    at async U.render 
(C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next\\dist\\compiled\\next-server\\pages-api.runtime.dev.js:21:3827)\n' +
    '    at async DevServer.runApi (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next\\dist\\server\\next-server.js:554:9)\n' +
    '    at async NextNodeServer.handleCatchallRenderRequest (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next\\dist\\server\\next-server.js:266:37)\n' +
    '    at async DevServer.handleRequestImpl (C:\\Users\\Julia\\Documents\\GitHub\\freyahr\\node_modules\\next\\dist\\server\\base-server.js:789:17)',
  name: 'JWEDecryptionFailed'
}
This is the error that is showing up in the console