Exemplo n.º 1
0
        private static bool AreLifetimeValidatorsEqual(LifetimeValidator validator1, LifetimeValidator validator2, CompareContext context)
        {
            var localContext = new CompareContext(context);

            ContinueCheckingEquality(validator1, validator2, context);
            return(context.Merge(localContext));
        }
Exemplo n.º 2
0
        public LifetimeConstraintWidget()
        {
            SetupUi(this);

              mLifetimeValidator = new LifetimeValidator(mLineEdit);
              mLineEdit.Validator = mLifetimeValidator;

              mCheckBox.StateChanged += mCheckBox_StateChanged;
        }
Exemplo n.º 3
0
        public LifetimeConstraintWidget()
        {
            SetupUi(this);

            mLifetimeValidator  = new LifetimeValidator(mLineEdit);
            mLineEdit.Validator = mLifetimeValidator;

            mCheckBox.StateChanged += mCheckBox_StateChanged;
        }
        public static TokenValidationParameters WithLifetimeValidation(this TokenValidationParameters parameters,
                                                                       LifetimeValidator lifetimeValidator = null)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            parameters.ValidateLifetime  = true;
            parameters.LifetimeValidator = lifetimeValidator;
            return(parameters);
        }
Exemplo n.º 5
0
        public void ShouldActivateLifetimeValidation()
        {
            // Given
            var options   = new TokenValidationParameters();
            var validator = new LifetimeValidator((w, x, y, z) => true);

            // When
            options.WithLifetimeValidation(validator);

            // Then
            Assert.True(options.ValidateLifetime);
            Assert.Equal(validator, options.LifetimeValidator);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Gets the lifetime validator.
        /// </summary>
        /// <param name="token">The token.</param>
        /// <returns>The lifetime validator.</returns>
        private LifetimeValidator GetLifetimeValidator(JwtSecurityToken token)
        {
            var validator = new LifetimeValidator(
                (notBefore, expires, securityToken, validationParameters) =>
            {
                var validFrom = token.Payload.Iat.HasValue
                        ? TimeHelper.GetDateFromTokenTimestamp(token.Payload.Iat.Value)
                        : (token.Payload.Nbf.HasValue ?
                           TimeHelper.GetDateFromTokenTimestamp(token.Payload.Nbf.Value) :
                           DateTime.MinValue);
                validationParameters.LifetimeValidator = null;
                Validators.ValidateLifetime(validFrom, expires, securityToken, validationParameters);
                return(true);    // if Validators.ValidateLifetime method hasn't thrown an exception, then validation passed
            });

            return(validator);
        }
Exemplo n.º 7
0
        public static IPrincipal GetPrincipal(string token, LifetimeValidator lifetimeValidator)
        {
            const string secKeyToken =
                "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";

            var securityKey          = new SymmetricSecurityKey(System.Text.Encoding.Default.GetBytes(secKeyToken));
            var validationParameters = new TokenValidationParameters
            {
                ValidAudience            = WebUrl,
                ValidIssuer              = WebUrl,
                ValidateLifetime         = true,
                ValidateIssuerSigningKey = true,
                LifetimeValidator        = lifetimeValidator,
                IssuerSigningKey         = securityKey
            };

            SecurityToken securityToken;
            var           handler = new JwtSecurityTokenHandler();

            //extract and assign the user of the jwt
            var principal = handler.ValidateToken(token, validationParameters, out securityToken);

            return(principal);
        }