Пример #1
0
        public async Task <AuthorizationResponseModel> LogInAsync(AuthorizationRequestModel logInRequestModel)
        {
            var response = new AuthorizationResponseModel {
                IsSuccessful = false
            };

            UserData userData = await applicationUserRepository.FindByEmailAsync(logInRequestModel.Email.Normalize());

            if (userData == null)
            {
                response.Message = "Account with this email doesn`t exists";
            }
            else if (!await applicationUserRepository.CheckPasswordAsync(
                         logInRequestModel.Email,
                         logInRequestModel.Password))
            {
                response.Message = "Wrong Password";
            }
            else
            {
                string token      = javascriptWebTokenFactory.Create(userData.Id);
                var    sessionDto = new SessionData
                {
                    UserId = userData.Id,
                    Token  = token
                };
                await sessionRepository.CreateAsync(sessionDto);

                response.Token        = token;
                response.IsSuccessful = true;
            }
            return(response);
        }
Пример #2
0
        public async Task <AuthorizationResponseModel> RefreshAsync(RefreshRequest authorization)
        {
            try
            {
                RefreshRequest res    = authorization;
                var            result = await _apiBaseUrl
                                        .AppendPathSegment("api/auth/authorize")
                                        .PostJsonAsync(authorization)
                                        .ReceiveJson <AuthorizationResponseModel>();



                //  .GetJsonAsync<string>();

                return(result);
            }
            catch (FlurlHttpException fex)
            {
                AuthorizationResponseModel res = new AuthorizationResponseModel();

                Debug.WriteLine(fex);
                res.AccessToken = string.Empty;
                return(res);
            }
        }
Пример #3
0
        public async Task <IActionResult> AuthorizeAsync([FromBody] AuthorizationModel authorizationModel)
        {
            var user = await _dbContext.Users
                       .Include(i => i.UserRoles)
                       .ThenInclude(i => i.Role)
                       .FirstOrDefaultAsync(i =>
                                            i.UserName == authorizationModel.UserName &&
                                            i.Password == authorizationModel.Password);

            if (user == null)
            {
                _logger.LogError($"User [{authorizationModel.UserName}] was not found in the DB. UserName or Password is not correct");
                return(BadRequest($"Wrong credentials for user [{authorizationModel.UserName}]"));
            }

            var token = JwtUtil.NewJwtToken(authorizationModel.UserName, _authOptions.JwtSecret,
                                            _authOptions.JwtExpirationSeconds);

            var response = new AuthorizationResponseModel
            {
                Token     = token,
                FirstName = user.FirstName,
                LastName  = user.LastName,
                UserName  = user.UserName,
                IsAdmin   = user.UserRoles.Any(i => i.Role?.Name == "Admin")
            };

            return(Ok(response));
        }
        public IActionResult Authorize(AuthorizationModel authorizationModel)
        {
            try
            {
                var response = new AuthorizationResponseModel();

                var user = GetUsers().FirstOrDefault(u => u.Login == authorizationModel.Login);

                if (user == null)
                {
                    return(Ok(response));
                }

                response.IsKnownUser = true;

                if (user.Password != authorizationModel.Password)
                {
                    return(Ok(response));
                }

                response.IsAuthorized = true;
                response.Role         = user.Role;

                return(Ok(response));
            }
            catch (Exception exception)
            {
                return(BadRequest(exception));
            }
        }
        public IActionResult CompletePaymentHandler(AuthorizationResponseModel model)
        {
            // Hard coded orderId, should be taken from response
            // TODO: take parameters from payment response
            int    orderId           = 14563;
            string gateway_reference = "31293";
            string gateway_message   = "Success";

            var order = _orderService.GetOrderById(orderId);

            if (order != null)
            {
                //order note
                order.OrderNotes.Add(new OrderNote
                {
                    Note = "PayBright payment process: " + gateway_message,
                    DisplayToCustomer = false,
                    CreatedOnUtc      = DateTime.UtcNow
                });
                _orderService.UpdateOrder(order);
            }

            //valid
            if (_orderProcessingService.CanMarkOrderAsPaid(order))
            {
                order.AuthorizationTransactionId = gateway_reference;
                _orderService.UpdateOrder(order);

                _orderProcessingService.MarkOrderAsPaid(order);
            }

            // redirect to checkout complete page
            return(RedirectToRoute("CheckoutCompleted", new { orderId = orderId }));
        }