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
            {
                // Добавить в чём ошибка
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 4
0
        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));
            }
        }
Exemplo n.º 5
0
        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());
            }
        }