I am using this code to be able to use the credentials next-auth provider along with cognito as oauth serviice: this to allow email and password auth. I am running [email protected]:
import CognitoProvider from "next-auth/providers/cognito"; import NextAuth from 'next-auth' import CredentialsProvider from "next-auth/providers/credentials" import * as cognito from '../../../lib/cognito' import { Auth } from 'aws-amplify'; export default NextAuth({ providers: [ CredentialsProvider({ credentials: { username: { label: "Username", type: "text", placeholder: "jsmith" }, password: { label: "Password", type: "password" } }, async authorize(credentials, req) { try { const user = await Auth.signIn(credentials.username, credentials.password); return user } catch (error) { console.log('error signing in', error); } } }) ], debug: process.env.NODE_ENV === 'development' ? true : falsey })
I often get this error:
https://next-auth.js.org/errors#jwt_session_error decryption operation failed { message: 'decryption operation failed', stack: 'JWEDecryptionFailed: decryption operation failedn' + ' at gcmDecrypt (/home/aurel/Documents/repos/front/node_modules/jose/dist/node/cjs/runtime/decrypt.js:67:15)n' + ' at decrypt (/home/aurel/Documents/repos/front/node_modules/jose/dist/node/cjs/runtime/decrypt.js:92:20)n' + ' at flattenedDecrypt (/home/aurel/Documents/repos/front/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js:119:52)n' + ' at async compactDecrypt (/home/aurel/Documents/repos/front/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js:18:23)n' + ' at async jwtDecrypt (/home/aurel/Documents/repos/front/node_modules/jose/dist/node/cjs/jwt/decrypt.js:8:23)n' + ' at async Object.decode (/home/aurel/Documents/repos/front/node_modules/next-auth/jwt/index.js:64:7)n' + ' at async Object.session (/home/aurel/Documents/repos/front/node_modules/next-auth/core/routes/session.js:41:28)n' + ' at async NextAuthHandler (/home/aurel/Documents/repos/front/node_modules/next-auth/core/index.js:96:27)n' + ' at async NextAuthNextHandler (/home/aurel/Documents/repos/front/node_modules/next-auth/next/index.js:21:19)n' + ' at async /home/aurel/Documents/repos/front/node_modules/next-auth/next/index.js:57:32', name: 'JWEDecryptionFailed' }
found https://next-auth.js.org/errors#jwt_session_error in the docs but does not really help
thanks
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
just had to add a secret to make it work
export default NextAuth({ secret: process.env.AUTH_SECRET, providers: [ ... ] })
Method 2
The secret a-dawg comment must be inserted into the .env.local file
More info: https://nextjs.org/docs/basic-features/environment-variables
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0