@Override
    public boolean shouldParticipateInSso(final RegisteredService registeredService, final AuthenticationAwareTicket ticketState) {
        LOGGER.trace("Calculating SSO participation criteria for [{}]", ticketState);
        if (timeValue <= 0) {
            return true;
        }

        val convertedNano = timeUnit.toNanos(timeValue);
        val startingDate = determineInitialDateTime(registeredService, ticketState);
        val endingDate = startingDate.plusNanos(convertedNano);
        val currentTime = ZonedDateTime.now(ZoneOffset.UTC);

        LOGGER.trace("Starting date/time [{}]. Ending date/time constraint [{}]. Current date/time [{}]",
            startingDate, endingDate, currentTime);

        if (currentTime.isBefore(endingDate)) {
            LOGGER.debug("Current time [{}] is before [{}] where SSO participation is granted", currentTime, endingDate);
            return true;
        }

        LOGGER.debug("Current time [{}] is after [{}] where SSO participation is rejected", currentTime, endingDate);
        return false;
    }
This is {@link BaseDateTimeRegisteredServiceSingleSignOnParticipationPolicy}.

@author Misagh Moayyed
@since 6.1.0
core/cas-server-core-services-api/src/main/java/org/apereo/cas/services/BaseDateTimeRegisteredServiceSingleSignOnParticipationPolicy.java