Exemplo n.º 1
0
        /// <summary>
        /// Ajoute un header contenant le jeton identifiant de la carte à la response d'une requête de connection
        /// </summary>
        /// <param name="httpResponse"></param>
        /// <param name="carte"></param>
        /// <returns></returns>
        public async Task AjouteCarteAResponse(HttpResponse httpResponse, CarteUtilisateur carte)
        {
            JwtRéponse jwtRéponse = await _jwtFabrique.CréeReponse(carte);

            string header = JsonSerializer.Serialize(jwtRéponse);

            httpResponse.Headers.Add(JwtFabrique.NomJwtRéponse, header);
        }
        protected async Task <IActionResult> Connecte(ApplicationUser user, bool persistant)
        {
            CarteUtilisateur carteUtilisateur = await _service.CréeCarteUtilisateur(user);

            if (!carteUtilisateur.EstUtilisateurActif)
            {
                ErreurDeModel erreur = new ErreurDeModel
                {
                    Code        = "etatUtilisateur",
                    Description = "Cet utilisateur n'est pas autorisé"
                };
                return(StatusCode(403, erreur));
            }

            JwtRéponse jwtRéponse = await _jwtFabrique.CréeReponse(carteUtilisateur);

            Request.HttpContext.Response.Headers.Add(JwtFabrique.NomJwtRéponse, JsonConvert.SerializeObject(jwtRéponse));
            await _service.Connecte(user, persistant);

            return(new OkObjectResult(carteUtilisateur));
        }