MissingSecret [MissingSecretError]: Please define a `secret` in production
04:04 24 Mar 2022

According to the docs https://next-auth.js.org/configuration/options#secret , adding a NEXTAUTH_SECRET as an environment variable, you don't have to define this option.

But in vercel production I still get,

2022-03-24T10:37:19.571Z    710a4b4b-24d3-4fb4-b991-9eb44179efc8    ERROR   [next-auth][error][NO_SECRET] 
https://next-auth.js.org/errors#no_secret Please define a `secret` in production. MissingSecret [MissingSecretError]: Please define a `secret` in production.
    at assertConfig (/var/task/node_modules/next-auth/core/lib/assert.js:24:14)
    at NextAuthHandler (/var/task/node_modules/next-auth/core/index.js:34:52)
    at NextAuthNextHandler (/var/task/node_modules/next-auth/next/index.js:16:51)
    at /var/task/node_modules/next-auth/next/index.js:52:38
    at Object.apiResolver (/var/task/node_modules/next/dist/server/api-utils/node.js:182:15)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async NextNodeServer.runApi (/var/task/node_modules/next/dist/server/next-server.js:386:9)
    at async Object.fn (/var/task/node_modules/next/dist/server/base-server.js:488:37)
    at async Router.execute (/var/task/node_modules/next/dist/server/router.js:228:32)
    at async NextNodeServer.run (/var/task/node_modules/next/dist/server/base-server.js:600:29) {
  code: 'NO_SECRET'
}

env is set as NEXTAUTH_SECRET=MYSECRETSNAPBOOK

Code:

export default NextAuth({
  providers: [
    GoogleProvider({
      clientId: process.env.GOOGLE_CLIENT_ID,
      clientSecret: process.env.GOOGLE_CLIENT_SECRET,
    }),
  ],
  pages: {
    signIn: '/auth/signin',
  },
  callbacks: {
    async session({ session, token, user }) {
      session.user.username = session.user.name
        .split(' ')
        .join('')
        .toLocaleLowerCase()

      session.user.uid = token.sub

      return session
    },
  },
})
next.js vercel next-auth