diff --git a/web/docs/03-exercices/02-AuthentificationParCookie.md b/web/docs/03-exercices/02-AuthentificationParCookie.md index bd0d14149..075544212 100644 --- a/web/docs/03-exercices/02-AuthentificationParCookie.md +++ b/web/docs/03-exercices/02-AuthentificationParCookie.md @@ -161,18 +161,27 @@ ng serve --ssl - Pour la requête publique, rien de spécial à faire et elle devrait fonctionner dès le départ. - Mais si vous essayer de faire la requête privée, vous devriez avoir un message d'erreur car l'utilisateur n'a pas accès! - Pour Enregistrer et Connecter, simplement utiliser des DTOs hardcodés. +- Pour faire l'appel de connection, c'est essentiel d'inclure l'option **withCredentials: true** +``` ts +let options = { withCredentials: true }; +let result = await lastValueFrom(this.http.post('https://localhost:7219/api/Account/Login', registerData, options)); +``` :::danger Attention, par défaut les mots de passes doivent suivre certaines règles. Un mot de passe qui fonctionne bien: Passw0rd! ::: -- Pour Déconnecter, rien de spécial - Pour faire fonctionner la requête privée il faut également joindre le cookie obtenu lors du login. On ajoute simplement l'option withCredentials! ``` ts let options = { withCredentials:true }; let result = await lastValueFrom(this.http.get('https://localhost:7219/api/Account/PrivateData', options)); ``` - Testez maintenant que vous pouvez obtenir l'information privée avec un utilisateur connecté! +- Pour se déconnecter, il faut **ENCORE** inclure l'option **withCredentials: true** + +:::danger +Faites toujours attention quand vous utilisez la méthode post avec des options. Car les paramètres sont (url, data, options). Alors si il n'y a pas de data, n'oubliez pas de mettre null ou sinon vous allez passer vos options comme du data!! +::: ### Ajouter un interceptor - Automatiser l'ajout des options avec un interceptor @@ -184,7 +193,7 @@ intercept(request: HttpRequest, next: HttpHandler): Observable