Bonjour !
Je rencontre de gros problemes cote serveur avec la mise en place de callbacks.
Voici mon code :
voici le message d'erreur en question :
[next-auth][error][JWT_SESSION_ERROR]
https://next-auth.js.org/errors#jwt_session_error Cannot read properties of undefined (reading 'user') {
message: "Cannot read properties of undefined (reading 'user')",
stack: "TypeError: Cannot read properties of undefined (reading 'user')\n" +
' at Object.session (webpack-internal:///(api)/./src/pages/api/auth/[...nextauth].js:65:34)\n' +
' at Object.session (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next-auth\\core\\routes\\session.js:56:42)\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 NextAuthHandler (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next-auth\\next\\index.js:24:19)\n' +
' at async C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next-auth\\next\\index.js:60:32\n' +
' at async Object.apiResolver (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\api-utils\\node.js:372:9)\n' +
' at async DevServer.runApi (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\next-server.js:514:9)\n' +
' at async Object.fn (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\next-server.js:828:35)\n' +
' at async Router.execute (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\router.js:243:32)\n' +
' at async DevServer.runImpl (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\base-server.js:432:29)\n' +
' at async DevServer.run (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\dev\\next-dev-server.js:831:20)\n' +
' at async DevServer.handleRequestImpl (C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\base-server.js:375:20)\n' +
' at async C:\\Users\\Lordtoinou\\Desktop\\Believemy Formation\\Next\\projet1-next\\node_modules\\next\\dist\\server\\base-server.js:157:99',
name: 'TypeError'
}
Comment est-il possible de résoudre svp ? Merci par avance !
Bonjour !
Le message d'erreur que vous avez partagé semble indiquer que le champ "user" est undefined dans votre callback "session". Il est probable que cela soit dû à une erreur de syntaxe ou de logique dans votre code.
Dans votre callback "session", vous récupérez "_user" en paramètre, et vous essayez d'accéder à "_user.user". Cela peut poser problème si "_user" est undefined ou null.
Pour éviter cette erreur, vous pouvez ajouter une vérification pour vous assurer que "_user" n'est pas undefined avant d'essayer d'y accéder :
callbacks: {
// Le code avant
session: async (session, _user) => {
if (_user && _user.user) {
session.user = _user.user;
}
return session;
}
}
Merci pour le retour rapide !
Malheureusement a quelques modules de la fin de la formation, le projet se montre capricieux et je me retrouve démuni.
Voici les codes de :
- index.js (page d'accueil) :
- [...nextauth].js :
Le message d'erreur est le suivant :
TypeError: Cannot read properties of undefined (reading 'name')
src\pages\index.js (194:28) @ name
192 | 193 | if (session) { > 194 | username = session.user.name; | ^ 195 | console.log(username); 196 | } 197 |
De plus, le nom de l'utilisateur n'est pas affiché lors de la connexion.
Enfin, je ne peux plus lire les vidéos et accéder correctement à la formation alors que je suis abonné.
Comment est-il possible de résoudre les problemes svp ?
Merci par avance !
Probleme résolu ! Afin d'éviter le probleme, dans 'index.js', il faut modifier :
par :
Merci encore pour les retours !
Merci pour ton retour Antoine !