private async Task _loginMethodAsync() { string urlLogin = ApiRouteHelper.GetAccountControllerLoginRoute(); var response = await WebRequests.PostJsonAsync ( urlLogin, new LoginApiRequest { Email = EmailLogin, Password = PasswordLogin.Unsecure() }); if (response.IsSuccessStatusCode) { AuthenticateApiResponse result = JsonConvert.DeserializeObject <AuthenticateApiResponse>(response.Content.ReadAsStringAsync().Result); // ToDo: сделать с NavigationService //var appVM = DI.ServiceProvider.GetService<ApplicationWindowViewModel>(); //await appVM.EntryToAppAsync(result.Email, result.Jwt, result.RefreshToken); } else { // Добавить в чём ошибка } }
public IActionResult GetJwtAndRtViaRt(AuthenticateApiRequest authenticateRequest) { AuthenticateApiResponse authenticateResponse = _jwtAndRtService.GetJwtAndRtViaRt(authenticateRequest.RefreshToken, ipAddress()); if (authenticateResponse != null) { return(Ok(authenticateResponse)); } else { return(BadRequest(new DefaultApiResponse { ErrorMessage = "Действие обновляющего токена закончилось" })); } }
private async Task _registerMethodAsync() { string urlRegister = ApiRouteHelper.GetAccountControllerRegisterRoute(); var response = await WebRequests.PostJsonAsync (urlRegister, new RegisterApiRequest { Email = EmailRegistration, Password = PasswordRegistration.Unsecure(), ConfirmPassword = ConfirmPasswordRegistration.Unsecure() }); AuthenticateApiResponse result = JsonConvert.DeserializeObject <AuthenticateApiResponse>(response.Content.ReadAsStringAsync().Result); if (result.ApiResponseDefault.Successful) { // ToDo: Переписать на NavigationService //ApplicationWindowViewModel appVM = DI.ServiceProvider.GetService<ApplicationWindowViewModel>(); //await appVM.EntryToAppAsync(result.Email, result.Jwt, result.RefreshToken); } }
public async Task <IActionResult> Register([FromBody] RegisterApiRequest registerApiRequest) { if (ModelState.IsValid) { User user = new User { Email = registerApiRequest.Email, UserName = registerApiRequest.Email, }; var result = await _userManager.CreateAsync(user, registerApiRequest.Password); if (result.Succeeded) { AuthenticateApiRequest authenticateRequest = new AuthenticateApiRequest(registerApiRequest.Email); AuthenticateApiResponse authenticateResponse = _jwtAndRtService.GetJwtAndRt(authenticateRequest, ipAddress()); await _signInManager.SignInAsync(user, false); return(Ok(authenticateResponse)); } else { return(BadRequest( new AuthenticateApiResponse { ApiResponseDefault = new DefaultApiResponse { ErrorMessage = result.Errors?.ToList().Select(f => f.Description).Aggregate((a, b) => $"{a}{Environment.NewLine}{b}") } })); } } else { AuthenticateApiResponse badResponse = new AuthenticateApiResponse(); badResponse.ApiResponseDefault.ErrorMessage = ModelStateHelperMethods.GetAggregateErrors(ModelState.Values); return(BadRequest(badResponse)); } }
public async Task <IActionResult> Login([FromBody] LoginApiRequest loginApiRequest) { if (ModelState.IsValid) { var result = await _signInManager.PasswordSignInAsync(loginApiRequest.Email, loginApiRequest.Password, false, false); AuthenticateApiRequest authenticateRequest = new AuthenticateApiRequest(loginApiRequest.Email); AuthenticateApiResponse authenticateResponse = _jwtAndRtService.GetJwtAndRt(authenticateRequest, ipAddress()); if (result.Succeeded) { return(Ok(authenticateResponse)); } else { return(BadRequest(authenticateResponse)); } } else { return(BadRequest()); } }