コード例 #1
0
        public async Task <IActionResult> Login([FromBody] AuthUserDtos model)
        {
            var user = await this._userManager.FindByEmailAsync(model.email);

            if (user != null && await this._userManager.CheckPasswordAsync(user, model.password))
            {
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new System.Security.Claims.ClaimsIdentity(new Claim[] {
                        new Claim("userId", user.Id.ToString())
                    }),
                    Expires            = DateTime.UtcNow.AddDays(1),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(this._appSettings.JWt_Secret)), SecurityAlgorithms.HmacSha256Signature),
                };
                var tokenHandler  = new JwtSecurityTokenHandler();
                var SecurityToken = tokenHandler.CreateToken(tokenDescriptor);
                var token         = tokenHandler.WriteToken(SecurityToken);
                return(await GetUserProfile(user.Id));
            }

            return(this.BadRequest(new { message = "Utilisateur ou mot de passe incorect" }));
        }
コード例 #2
0
        public async Task <IActionResult> Register([FromBody] AuthUserDtos model)
        {
            IActionResult actionResult = this.BadRequest();

            var applicationUser = new ApplicationUser()
            {
                UserName = model.firstname,
                Email    = model.email,
                Fullname = model.lastname,
            };

            try
            {
                var result = await this._userManager.CreateAsync(applicationUser, model.password);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                var x = ex.Message;
                return(actionResult);
            }
        }