Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
web:framework:nextjs:nextauth [2025/03/19 09:07] – jcheron | web:framework:nextjs:nextauth [2025/08/12 02:35] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 135: | Ligne 135: | ||
===== Route api ===== | ===== Route api ===== | ||
- | Toutes les requêtes NextAuth passeront par cette route : | + | Toutes les requêtes NextAuth passeront par cette route : '' |
<sxh typescript> | <sxh typescript> | ||
Ligne 144: | Ligne 144: | ||
===== Lib ===== | ===== Lib ===== | ||
- | Fichier utilitaire pour simplifier connexion et déconnexion : | + | Fichier utilitaire pour simplifier connexion et déconnexion |
<sxh typescript> | <sxh typescript> | ||
Ligne 164: | Ligne 164: | ||
}; | }; | ||
</ | </ | ||
+ | |||
+ | ===== LoginForm ===== | ||
+ | Exemple de composant pour le login : | ||
+ | <sxh typescript> | ||
+ | 'use client'; | ||
+ | import {Button, Checkbox, Form, Input} from " | ||
+ | import {submitLogin} from " | ||
+ | |||
+ | |||
+ | export default function SignInComponent(){ | ||
+ | const onFinish = async (values: any) => { | ||
+ | await submitLogin(values); | ||
+ | }; | ||
+ | |||
+ | const onFinishFailed = (errorInfo: any) => { | ||
+ | console.log(' | ||
+ | }; | ||
+ | return | ||
+ | < | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | > | ||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | > | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | | ||
+ | | ||
+ | | ||
+ | > | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | Dans le fichier '' | ||
+ | |||
+ | <sxh env> | ||
+ | NEXTAUTH_URL=http:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | Génération du secret pour encodage/ | ||
+ | |||
+ | <sxh bash> | ||
+ | npx auth secret | ||
+ | </ | ||
+ | |||
+ | Le **secret** est généré et inséré dans le fichier '' | ||
+ | ===== Usage ===== | ||
+ | Accès à la session nextAuth : | ||
+ | |||
+ | ==== Côté serveur ==== | ||
+ | |||
+ | <sxh ts; | ||
+ | import {auth} from " | ||
+ | |||
+ | const session= await auth(); | ||
+ | console.log(session.user); | ||
+ | </ | ||
+ | |||
+ | ==== Côté client ==== | ||
+ | |||
+ | <sxh ts; | ||
+ | 'use client'; | ||
+ | import {useSession} from " | ||
+ | |||
+ | const userData=useSession(); | ||
+ | console.log(userData.data? | ||
+ | </ | ||
+ | |||
+ | |||