Esempio n. 1
0
        /// <summary>
        ///     Initial when user login + create token key to verify
        /// </summary>
        /// <param name="_key">Key generated and add to block</param>
        /// <param name="_username">User username</param>
        /// <returns>Redirect to Candidates view + token key</returns>
        public ActionResult create_BC(string _key, string _username)
        {
            var user  = db.Users.FirstOrDefault(x => x.Username.Equals(_username));
            var block = new BlockChainModel();

            if (user.Public_key == null)
            {
                block.initialBlock(_key, user);
            }


            //Generate a token
            Random rnd    = new Random();
            int    _num   = rnd.Next(0, 9);
            string _token = Membership.GeneratePassword(24, _num);

            //Encrypt token and send with random key to AR server
            string _keyToken = Guid.NewGuid().ToString("N");

            var _encryptToken = TokenModel.encryptToken(_token, _keyToken);
            var _encryptKey   = TokenModel.CreateKey(Encoding.Unicode.GetBytes(_keyToken)); // 64 bytes


            Session["UserSession"] = new UserSession {
                Username = _username
            };
            Session["TokenSession"] = new TokenSession {
                Token = _encryptToken, TokenKey = _encryptKey
            };
            Session["user_TokenSession"] = new UserSession {
                Token = _token
            };
            return(RedirectToAction("Index", "Candidates"));
        }
Esempio n. 2
0
        public string  Capture(GridMPGSConfig mpgsConfig, TokenSession tokenSession)
        {
            GatewayApiConfig config = new GatewayApiConfig(mpgsConfig);

            GatewayApiRequest gatewayApiRequest = new GatewayApiRequest(config)
            {
                OrderId             = tokenSession.MPGSOrderID,
                ApiOperation        = MPGSAPIOperation.CAPTURE.ToString(),
                TransactionAmount   = tokenSession.Amount.ToString(),
                TransactionId       = PaymentHelper.GenerateOrderId(),
                TransactionCurrency = config.Currency,
                Token      = tokenSession.Token,
                SourceType = tokenSession.SourceOfFundType
            };

            gatewayApiRequest.buildRequestUrl();

            gatewayApiRequest.buildPayload();

            string request = JsonConvert.SerializeObject(gatewayApiRequest);

            LogInfo.Information(JsonConvert.SerializeObject(gatewayApiRequest));

            GatewayApiClient gatewayApiClient = new GatewayApiClient(config);

            string response = gatewayApiClient.SendTransaction(gatewayApiRequest);

            LogInfo.Information(response);

            return(TokenResponse.GetResponseResult(response));
        }
    public void Login(string email, string password)
    {
        view.Progress(true);

        User user = new User()
        {
            email    = email,
            password = password
        };

        var subscribe = AuthService.Login(user)
                        .Subscribe(data =>
        {
            view.Progress(false);

            Auth auth = JsonConvert.DeserializeObject <Auth>(data);
            UserSession.StoreUserAccess(auth.user);
            TokenSession.StoreAuthToken(auth.token);
            view.ConfirmAPIResponse(auth);
        }, error => {
            view.Progress(false);
            view.ShowMessage(error.ToString());
        });

        subscriptions.Add(subscribe);
    }
Esempio n. 4
0
        public static ApiClientOneVoucherRedeemResponse GetOneVoucher(ApiClientUser user, long sequenceNumber, string voucherPin, ApiClientAcquirer acquirer)
        {
            try
            {
                var accessToken  = "";
                var refreshToken = "";
                var token        = HttpContext.Current.Application["TokenSession"] as TokenSession;
                if (token != null)
                {
                    accessToken = token.accessToken;
                    if (Convert.ToDateTime(token.ExpDate) <= DateTime.Now)
                    {
                        var refreshTokenFlash = JukeBox.BLL.ExternalApi.Voucher.GetTokenAsync();
                        accessToken  = refreshTokenFlash.access_token;
                        refreshToken = refreshTokenFlash.refresh_token;
                        var date = DateTime.Now.AddMinutes(55);
                        HttpContext.Current.Application.Remove("TokenSession");
                        var tokenSession = new TokenSession
                        {
                            accessToken  = accessToken,
                            refreshToken = refreshToken,
                            ExpDate      = date
                        };
                        HttpContext.Current.Application["TokenSession"] = tokenSession;
                    }
                }
                else
                {
                    var tokenFlash = JukeBox.BLL.ExternalApi.Voucher.GetTokenAsync();
                    accessToken  = tokenFlash.access_token;
                    refreshToken = tokenFlash.refresh_token;
                    var date         = DateTime.Now.AddMinutes(55);
                    var tokenSession = new TokenSession
                    {
                        accessToken  = accessToken,
                        refreshToken = refreshToken,
                        ExpDate      = date
                    };
                    HttpContext.Current.Application["TokenSession"] = tokenSession;
                }

                var data = JukeBox.BLL.ExternalApi.Voucher.GetApiClientOneVoucher(new ApiClientOneVoucherRedeemFilter()
                {
                    user            = user,
                    sequenceNumber  = sequenceNumber,
                    voucherPin      = voucherPin,
                    acquirer        = acquirer,
                    amountRequested = 0,
                    currency        = "ZAR"
                }, accessToken);
                return(data);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Esempio n. 5
0
        public TokenResponse Tokenize(GridMPGSConfig mpgsConfig, TokenSession tokenSession)
        {
            try
            {
                GatewayApiConfig config = new GatewayApiConfig(mpgsConfig);

                GatewayApiRequest gatewayUpdateSessionRequest = new GatewayApiRequest(config);

                GatewayApiClient gatewayApiClient = new GatewayApiClient(config);

                //generate token
                GatewayApiRequest gatewayGenerateTokenRequest = new GatewayApiRequest(config);

                gatewayGenerateTokenRequest.SessionId = tokenSession.CheckOutSessionID;

                gatewayGenerateTokenRequest.ApiMethod = GatewayApiClient.POST;

                gatewayGenerateTokenRequest.buildPayload();

                gatewayGenerateTokenRequest.buildTokenUrl();

                string request = JsonConvert.SerializeObject(gatewayGenerateTokenRequest);

                LogInfo.Information(JsonConvert.SerializeObject(gatewayGenerateTokenRequest));

                String response = gatewayApiClient.SendTransaction(gatewayGenerateTokenRequest);

                LogInfo.Information(response);

                TokenResponse tokenResponse = TokenResponse.ToTokenResponse(response);

                LogInfo.Information($"Tokenize response :  {response}");

                return(tokenResponse);
            }
            catch (Exception ex)
            {
                LogInfo.Error(new ExceptionHelper().GetLogString(ex, ErrorLevel.Critical));

                throw ex;
            }
        }