Ejemplo n.º 1
0
        public async Task <ActionResult <UserAuthenticateResponseModel> > Authenticate(
            [FromBody] UserAuthenticateRequestModel model)
        {
            UserAuthenticateServiceModel userAuthenticateServiceModel = _mapper
                                                                        .Map <UserAuthenticateRequestModel, UserAuthenticateServiceModel>(model);
            UserTokenServiceModel userTokenServiceModel = await _userService
                                                          .AuthenticateAsync(userAuthenticateServiceModel);

            if (userAuthenticateServiceModel == null)
            {
                return(Unauthorized(new { message = "Username or password is incorrect" }));
            }

            UserAuthenticateResponseModel userAuthenticateResponseModel = _mapper
                                                                          .Map <UserTokenServiceModel, UserAuthenticateResponseModel>(userTokenServiceModel);

            return(Ok(userAuthenticateResponseModel));
        }
Ejemplo n.º 2
0
        public async Task <UserTokenServiceModel> AuthenticateAsync(UserAuthenticateServiceModel userAuthenticateServiceModel)
        {
            User user = await _userManager.FindByEmailAsync(userAuthenticateServiceModel.Email);

            UserTokenServiceModel userTokenServiceModel = _mapper.Map <User, UserTokenServiceModel>(user);

            SignInResult result = await _signInManager.PasswordSignInAsync(
                user.UserName,
                userAuthenticateServiceModel.Password,
                true,
                false
                );

            string token = GenerateJsonWebToken(user);

            userTokenServiceModel.Token = token;

            return(userTokenServiceModel);
        }