public async Task <LoginCustomerResultModel> LoginAsync(LoginCustomerInputModel loginCustomerInputModel) { var loginCustomerResultModel = new LoginCustomerResultModel(); var user = await this.userManager.FindByEmailAsync(loginCustomerInputModel.Email); if (user == null) { loginCustomerResultModel.Succeeded = false; loginCustomerResultModel.Errors.Add(InvalidCredentialsErrorMessage); return(loginCustomerResultModel); } var passwordValid = await this.userManager.CheckPasswordAsync(user, loginCustomerInputModel.Password); if (!passwordValid) { loginCustomerResultModel.Succeeded = false; loginCustomerResultModel.Errors.Add(InvalidCredentialsErrorMessage); return(loginCustomerResultModel); } var roles = await this.userManager.GetRolesAsync(user); var token = this.jwtTokenGenerator.GenerateToken(user, roles); loginCustomerResultModel.Succeeded = true; loginCustomerResultModel.Token = token; return(loginCustomerResultModel); }
public async Task <ActionResult <string> > Login(LoginCustomerInputModel loginCustomerInputModel) { var result = await this.identityService.LoginAsync(loginCustomerInputModel); if (!result.Succeeded) { return(this.BadRequest(result.Errors)); } return(result.Token); }
public async Task <ActionResult <string> > Register(RegisterCustomerInputModel registerCustomerInputModel) { var result = await this.identityService.RegisterAsync(registerCustomerInputModel); if (!result.Succeeded) { return(this.BadRequest(result.Errors)); } var loginCustomerInputModel = new LoginCustomerInputModel { Email = result.Email, Password = result.Password }; return(await this.Login(loginCustomerInputModel)); }