/// <summary>Enables lifetime validation. </summary>
        /// <param name="requireExpirationTime">Defines whether the 'exp' claim must be present.</param>
        /// <param name="clockSkew">Defines the time span in seconds to apply.</param>
        public TokenValidationPolicyBuilder EnableLifetimeValidation(bool requireExpirationTime = true, int clockSkew = 300)
        {
            if (clockSkew <= 0)
            {
                ThrowHelper.ThrowArgumentOutOfRangeException_MustBeGreaterThanTimeSpanZero(ExceptionArgument.clockSkew, clockSkew);
            }

            _clockSkew = clockSkew;
            _control  |= TokenValidationPolicy.ExpirationTimeMask;
            if (requireExpirationTime)
            {
                _control |= TokenValidationPolicy.ExpirationTimeRequiredMask;
            }

            return(this);
        }