def store(self, eventId, queueId, fixedCookieValidityMinutes, cookieDomain,
           redirectType, secretKey):
     cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId)
     cookieValue = UserInQueueStateCookieRepository.__createCookieValue(
         eventId, queueId, Utils.toString(fixedCookieValidityMinutes),
         redirectType, secretKey)
     self.httpContextProvider.setCookie(
         cookieKey, cookieValue, QueueitHelpers.getCookieExpirationDate(),
         cookieDomain)
Пример #2
0
 def store(self, event_id, queue_id, fixed_cookie_validity_minutes, cookie_domain,
           is_cookie_http_only, is_cookie_secure, redirect_type, secret_key):
     cookie_key = UserInQueueStateCookieRepository.getCookieKey(event_id)
     cookie_value = UserInQueueStateCookieRepository.__createCookieValue(
         event_id, queue_id, Utils.toString(fixed_cookie_validity_minutes),
         redirect_type, secret_key)
     self.httpContextProvider.setCookie(
         cookie_key,
         cookie_value,
         QueueitHelpers.getCookieExpirationDate(),
         cookie_domain,
         is_cookie_http_only,
         is_cookie_secure)
    def __createCookieValue(eventId, queueId, fixedCookieValidityMinutes,
                            redirectType, secretKey):
        issueTime = Utils.toString(QueueitHelpers.getCurrentTime())
        hashValue = UserInQueueStateCookieRepository.__generateHash(
            eventId, queueId, fixedCookieValidityMinutes, redirectType,
            issueTime, secretKey)

        fixedCookieValidityMinutesPart = ""
        if (not Utils.isNilOrEmpty(fixedCookieValidityMinutes)):
            fixedCookieValidityMinutesPart = "&FixedValidityMins=" + fixedCookieValidityMinutes

        cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + fixedCookieValidityMinutesPart + "&RedirectType=" + redirectType + "&IssueTime=" + issueTime + "&Hash=" + hashValue
        return cookieValue
Пример #4
0
    def validateQueueRequest(self, target_url, queueit_token, config,
                             customer_id, secret_key):
        state = self.userInQueueStateRepository.getState(
            config.eventId, config.cookieValidityMinute, secret_key, True)

        if state.isValid:
            if state.isStateExtendable() and config.extendCookieValidity:
                self.userInQueueStateRepository.store(
                    config.eventId, state.queueId, None,
                    Utils.toString(config.cookieDomain),
                    config.isCookieHttpOnly, config.isCookieSecure,
                    state.redirectType, secret_key)

            result = RequestValidationResult(ActionTypes.QUEUE, config.eventId,
                                             state.queueId, None,
                                             state.redirectType,
                                             config.actionName)
            return result

        queue_params = QueueUrlParams.extractQueueParams(queueit_token)
        request_validation_result = RequestValidationResult(
            None, None, None, None, None, None)
        is_token_valid = False

        if queue_params is not None:
            token_validation_result = self.__validateToken(
                config, queue_params, secret_key)
            is_token_valid = token_validation_result.isValid
            if is_token_valid:
                request_validation_result = self.__getValidTokenResult(
                    config, queue_params, secret_key)
            else:
                request_validation_result = self.__getErrorResult(
                    customer_id, target_url, config, queue_params,
                    token_validation_result.errorCode)
        else:
            request_validation_result = self.__getQueueResult(
                target_url, config, customer_id)

        if state.isFound and not is_token_valid:
            self.userInQueueStateRepository.cancelQueueCookie(
                config.eventId, config.cookieDomain, config.isCookieHttpOnly,
                config.isCookieSecure)

        return request_validation_result
    def validateQueueRequest(self, targetUrl, queueitToken, config, customerId,
                             secretKey):
        state = self.userInQueueStateRepository.getState(
            config.eventId, config.cookieValidityMinute, secretKey, True)

        if (state.isValid):
            if (state.isStateExtendable() and config.extendCookieValidity):
                self.userInQueueStateRepository.store(
                    config.eventId, state.queueId, None,
                    Utils.toString(config.cookieDomain), state.redirectType,
                    secretKey)
            result = RequestValidationResult(ActionTypes.QUEUE, config.eventId,
                                             state.queueId, None,
                                             state.redirectType)
            return result

        queueParams = QueueUrlParams.extractQueueParams(queueitToken)
        if (queueParams is not None):
            return self.__getQueueITTokenValidationResult(
                targetUrl, config.eventId, config, queueParams, customerId,
                secretKey)
        else:
            return self.__getInQueueRedirectResult(targetUrl, config,
                                                   customerId)