Bonjour !
Je viens demander de l'aide alors que suis bloqué avec next.js version 4 concernant les callbacks et le jwt.
Voici le code de [...nextauth].js :
Voici le problème rencontré :
event - compiled successfully in 36 ms (93 modules)
[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\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\jose\\dist\\node\\cjs\\runtime\\decrypt.js:67:15)\n' +
' at decrypt (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\jose\\dist\\node\\cjs\\runtime\\decrypt.js:92:20)\n' +
' at flattenedDecrypt (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\jose\\dist\\node\\cjs\\jwe\\flattened\\decrypt.js:119:52)\n' +
' at async compactDecrypt (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\jose\\dist\\node\\cjs\\jwe\\compact\\decrypt.js:18:23)\n' +
' at async jwtDecrypt (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\jose\\dist\\node\\cjs\\jwt\\decrypt.js:8:23)\n' +
' at async Object.decode (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next-auth\\jwt\\index.js:64:7)\n' +
' at async Object.session (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next-auth\\core\\routes\\session.js:41:28)\n' +
' at async AuthHandler (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next-auth\\core\\index.js:158:27)\n' +
' at async getServerSession (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next-auth\\next\\index.js:113:19)\n' +
' at async getServerSideProps (webpack-internal:///./src/pages/index.js:292:21)',
name: 'JWEDecryptionFailed'
}
http://localhost:3000
null
D'une part l'objet 'username' dans getServerSideProps dans 'index.js' apparait en 'null' dans la console :
D'autre part le décryptage du JWT ne se fait pas correctement.
Comment est-il possible de resoudre le probleme svp ? Merci par avance !
Bonjour !
Serait-il possible d'obtenir de l'aide pour le message ci-dessus svp ?
Merci par avance !
Je te recommande d'utiliser la version du cours pour NextAuth, et donc la version 3. Sans cela, et comme la nouvelle version est très récente, je vais avoir du mal à pouvoir t'aiguiller.
Enfin, pour ce qui concerne le problème avec l'objet username qui apparaît en null dans la console, cela peut être lié à un problème de typage ou de mauvaise manipulation de données. Vérifie que session existe mais également session.user
let username = null;
console.log(process.env.NEXTAUTH_URL);
if (session && session.user) {
username = session.user.name;
}
console.log(username);
Merci pour le retour !
Bonjour Louis-Nicolas,
Je te remercie pour la doc (https://next-auth.js.org/v3/configuration/callbacks) que tu m'as transmis dans le cadre d'une autre question.
Je souhaiterais néanmoins émettre une critique( je sais que tu es ouvert à la critique à condition quelle soit positive). Cette partie est assez délicate et personnellement je regrette que tu n'aies pas partagé la démarche ou le raisonnement qui t'as conduit à partir de la doc à écrire ce code, cela aurait été fort utile je pense afin d'être davantage autonome quelque soit la version utilisée. Qu'en penses tu ?
Oui tkt j'ai aussi des problèmes dans ce genre avec next-auth quand je suivais le cours, utilise simplement la version du cours
Hello Jean-Luc, oui en effet il y a des petits soucis si on utilise pas la même version que le cours, ça bouge très souvent.