Esempio n. 1
0
        public void TimeBasedTokenGenerator_Defaults_GenerateTokenWithDefaults()
        {
            var gen   = new Csg.ApiKeyGenerator.TimeBasedTokenGenerator();
            var token = Base64UrlTextEncoder.Encode(gen.ComputeToken(ClientID, ClientSecret, TokenDateTime));

            Assert.AreEqual(TokenString, token);
        }
Esempio n. 2
0
        public void TimeBasedTokenGenerator_NoTolerance_ValidateToken()
        {
            var gen = new Csg.ApiKeyGenerator.TimeBasedTokenGenerator()
            {
                AllowedNumberOfDriftIntervals = 0
            };

            Assert.IsFalse(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(-61)));
            Assert.IsFalse(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(-60)));
            Assert.IsTrue(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime));
            Assert.IsFalse(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(+60)));
            Assert.IsFalse(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(+61)));
        }
Esempio n. 3
0
        public void TimeBasedTokenGenerator_Defaults_ValidateTokenWithDriftTolerance()
        {
            var gen = new Csg.ApiKeyGenerator.TimeBasedTokenGenerator();

            // minus 1 interval is 23:59:00
            // zero is 00:00:00

            // 00:00:00 minus 61 seconds is 23:58:59, which is interval -2
            Assert.IsFalse(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(-61)));

            // 00:00:00 minus 60 seconds is 23:59:00, which is in interval -1
            Assert.IsTrue(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(-60)));

            // 00:01:00 is within 1 interval of tolerance
            Assert.IsTrue(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(60)));

            // 00:00:59 is the last tick of the zero interval, 00:01:59 is the last tick of the first interval away from zero
            Assert.IsTrue(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(119)));

            // should fail, since it's past 00:01:59
            Assert.IsFalse(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime.AddSeconds(120)));
        }
Esempio n. 4
0
        public void TimeBasedTokenGenerator_Defaults_ValidateToken()
        {
            var gen = new Csg.ApiKeyGenerator.TimeBasedTokenGenerator();

            Assert.IsTrue(gen.ValidateToken(ClientID, ClientSecret, TokenBytes, TokenDateTime));
        }